CN1685318A - 基于存储器的数据传输的方法、系统和程序 - Google Patents

基于存储器的数据传输的方法、系统和程序 Download PDF

Info

Publication number
CN1685318A
CN1685318A CN03822678.2A CN03822678A CN1685318A CN 1685318 A CN1685318 A CN 1685318A CN 03822678 A CN03822678 A CN 03822678A CN 1685318 A CN1685318 A CN 1685318A
Authority
CN
China
Prior art keywords
equipment
port
data
coupled
programming
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
Application number
CN03822678.2A
Other languages
English (en)
Other versions
CN100339836C (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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1685318A publication Critical patent/CN1685318A/zh
Application granted granted Critical
Publication of CN100339836C publication Critical patent/CN100339836C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/206Memory mapped I/O

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Circuits Of Receivers In General (AREA)
  • Information Transfer Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明提供的是用于局部总线系统的方法、系统和程序。存储器地址空间被配置来控制I/O设备。所述存储器地址空间与耦合到局部总线系统的端口相关联。

Description

基于存储器的数据传输的方法、系统和程序
技术领域
本发明涉及基于存储器的数据传输的系统、方法和程序。
背景技术
局部输入/输出(I/O)总线是用于将诸如存储设备的外围设备耦合到计算机系统的高速输入/输出(I/O)总线。外设部件互连(PCI)总线和诸如PCI-X总线的增强型PCI总线都是常用的I/O总线。
PCI物理设备是一种可被耦合到PCI总线的物理设备。每个PCI物理设备可以包括一种到八种单独的PCI功能。一种PCI功能可以是一个逻辑设备。每种PCI功能都可以包括配置头端(configuration header),其可被配置来控制被耦合到PCI总线的外围设备。配置头端可以包括配置寄存器,例如基址寄存器。在配置头端中可以存在六个基址寄存器,包括基址寄存器0(BAR0)、基址寄存器1(BAR1)、基址寄存器2(BAR2)、基址寄存器3(BAR3)、基址寄存器4(BAR4)、基址寄存器5(BAR5)。每个基址寄存器可以是32位的,即一个双字(dword)。在PCI特殊兴趣小组的名为“PCI局部总线规范”的公开文本(版本2.2,PCI特殊兴趣小组版权1992,1993,1995,1998)中描述了PCI总线的更多细节,此后被称为“PCI规范”。在“PCI规范”的第6章中描述了基址寄存器的更多细节。
诸如主机总线适配器(HBA)一类的设备适配器可以在PCI/PCI-X总线和存储设备之间起到接口的作用。这种接口可以控制数据从计算机到存储设备的传输,反之亦然。用于存储盘的接口包括集成驱动电子设备(IDE)接口(也被称为“高级技术配件接口”,即ATA接口)和串行ATA(SATA)接口。在串行ATA工作组的名为“串行ATA:高速串行化AT配件”的公开文本(版本1.0,版权2001)中描述了SATA的进一步细节。类似于IDE/ATA的技术,例如ATA分组接口(ATAPI)技术可用于CD ROM和DVD驱动器。接口的带宽和处理能力可能会大大影响系统性能、系统配置、系统兼容性、系统升级能力等。
为接口于PCI/PCI-X总线的设备而定义的数据传输方法包括“总线主控IDE”和“编程I/O”(PIO)。总线主控IDE利用主机总线适配器中的直接存储器访问(DMA)引擎进行数据传输,从而降低了主机处理器上的负载。在基于PIO的数据传输中,设备适配器起到从属设备的作用,接受来自外部总线主控(例如主机处理器或总线主控控制器)的读写清求,并通过向附属设备进行读或写操作来满足所述请求。在现有技术中,在基于PIO的数据传输中,可以每次一个字节、二个字节或四个字节地传输数据。
在现有技术的基于PIO的数据传输机制中,设备适配器可以包括数据端口。该数据端口可以位于I/O地址空间中的某一字节地址。可以通过设备适配器的配置头端空间中的基址寄存器,以现有技术中公知的方式来实现所述I/O地址空间。由于所述数据端口被映射到I/O地址空间中的某一地址,所以当向存储设备写入数据时,PCI设备可以同时向数据端口写入两字节数据。同样,在读数据时,PCI设备可以同时从数据端口读取两字节的数据。因此,在基于PIO数据传输的现有技术的PCIIDE实施方案中,同时可以传输两字节的数据,即在PCIIDEPIO模式中,每个事务允许两字节的数据。
尽管在现有技术中数据传输已使用在主机总线系统中,但是对于主机总线系统中的数据传输而言,仍需要改进的技术。
附图说明
现在参考附图,在整个附图中相同的标号代表相应的部分:
图1图示了根据本发明某些已描述的实施方案,用于访问存储设备中的数据的总线体系结构;
图2图示了根据本发明某些已描述的实施方案,使用存储器地址空间的基于编程I/O的数据传输机制的框图;
图3图示了根据本发明某些已描述的实施方案,使用存储器地址空间的PCI功能的配置头端的框图;
图4图示了根据本发明某些已描述的实施方案,用于配置系统以进行基于编程I/O的数据传输的逻辑;以及
图5a和图5b图示了根据本发明某些已描述的实施方案,用于基于编程I/O的数据传输的逻辑。
具体实施方式
在以下描述中将参考附图,这些附图构成了描述的一部分,并且图示了本发明的几种实施方案。可以理解,也可以使用其他实施方案,在不偏离本发明的范围的情况下,可以作出结构和操作上的改变。
本发明已描述的实施方案提供了允许利用存储器地址空间来实现PIO数据传输的技术。通过允许突发(burst)PIO事务,使用存储器地址空间加快了数据传输的速度。在突发PIO事务中,每个事务可以传输大量的数据(例如几千字节)。
图1图示了根据本发明多种实施方案的系统100,其中包括用于访问诸如ATA/ATAPI/SATA存储设备一类的存储设备中的数据的总线体系结构。诸如中央处理单元(CPU)或I/O处理器的PCI设备101被耦合到诸如PCI(或者PCI-X)总线的主机总线106。CPU可以是本领域中公知的任何CPU,例如INTEL**×86系列微处理器、PowerPC**处理器等。I/O处理器可以包括本领域中公知的任何I/O处理器,例如INTEL**80321或者INTEL**80310。
存储设备110经由设备适配器112被耦合到PCI总线106,所述设备适配器112例如是串行ATA(SATA)适配器。存储设备110可以是本领域中公知的任何类型的存储设备,例如SATA、ATA、ATAPI等类型的存储设备。设备适配器112可以是本领域中公知的任何类型的设备适配器,例如SATA、ATA、ATAPI等类型的存储适配器。虽然示出了一个存储设备110,但是更多数量的存储设备可以经由设备适配器112被连接到PCI总线106。
包括在配置组件122中的配置软件120可以对系统100进行配置,使得设备110可以经由PCI总线106来交换数据。配置组件122被耦合到主机总线106,并且在某些实施方式中可以是PCI设备101的一部分或者可被耦合到PCI设备101。配置软件120可以是BIOS的一部分,可以是单独的软件模块的一部分,可以是设备驱动程序的一部分,等等。
图2图示了根据本发明某些已描述的实施方案,可被实现在系统100中的基于编程I/O的数据传输机制的框图。设备适配器112包括数据端口200。数据端口200被定址在存储器地址空间202中的字节地址202a。
耦合到数据端口200的是设备适配器112中的发送/接收缓冲器204。对于从PCI设备101发送来的数据,发送/接收缓冲器204可以在它们被发送到存储设备110之前存储这些数据。发送/接收缓冲器204还可以在来从存储设备110接收的数据被发送到PCI设备101之前存储这些数据。
由于数据端口200被定址在存储器地址空间202中,所以有可能利用附接于PCI总线106的存储设备110来完成突发PIO事务。在突发PIO事务中,每个事务可以传输大量数据(例如几千字节)。因为数据可以流动通过发送/接收缓冲器204,所以每个事务的数据可以超过发送/接收缓冲器204的大小。
配置软件120通过编程位于设备适配器112中的配置寄存器206来实现存储器地址空间202。配置软件120对包括配置寄存器206中的一个或多个寄存器的配置头端208进行配置,以编程实现PCI功能210的设置。根据本发明的多种实施方案,PCI功能210可以将存储设备110映射到存储器地址空间202并且控制存储设备110。在本发明可替换的实施方案中,更少或更多数量的存储设备可以受到PCI功能210的控制。在“PCI规范”第6章中描述了编程配置寄存器206和配置头端208的机制的进一步细节。
PCI设备101可以拥有寻址两个不同地址空间的能力:I/O地址空间和存储器地址空间。PCI设备101分别使用PCI I/O事务和存储器事务来访问PCI I/O和存储器位置。此外,第三访问类型,即配置访问,可被用来访问设备的配置寄存器。可以在系统100复位时初始化PCI功能210的配置寄存器206,以配置PCI功能210来响应由配置软件120分配给所述PCI功能的存储器和I/O地址范围。
当诸如系统100的系统被复位时,诸如配置软件120的配置软件扫描系统100中的各种总线,以确定存在哪些设备,这些设备又具有怎样的配置要求。上述过程被称为“扫描总线”或“漫步总线”。此时,配置软件120可以基于在配置主机总线106时所发现的东西,向配置寄存器206写入设置。
图3图示了根据本发明的某些实施方案,提供以下设置的配置头端208,所述设置实现PCI功能210以将存储设备110连接到PCI总线106,其中所述配置头端208被配置来为存储器空间202定义地址分配方案,例如字节地址202a被分配用于定址数据端口200的地址分配方案。
在图3中,两个32位的基址寄存器BAR0和BAR1被合在一起配置为一个64位的存储器基址寄存器(标号302所指示的存储器BAR),它从地址10hex开始。在可替换的实施方案中,可以使用不同于10hex的不同起始地址来存储存储器BAR302。在某些实施方案中,存储器BAR302可以被配置为32位寄存器。在图3中,分别对应于基址寄存器BAR2、BAR3、BAR4和BAR5的双字306、308、310和312可以留着不用。存储设备110可以通过存储器BAR302被映射到存储器空间202中,即,经由存储器空间202可以访问存储设备110。在某些实施方案中,存储器BAR302可以是64位长,并且可以在264位的存储器空间中定位一个地址,其中所述存储器空间的范围对应于用来控制存储设备110的区域。可以通过访问存储器空间来控制存储设备110。
因此,存储器BAR302实现了PCI功能210中的“可编程存储器译码器”。配置软件120可以将存储器空间202中的一个64位存储器地址分配给存储器BAR302。因为存储器BAR302可以有64位长,并且可寻址存储器的总量可以是264个字节,这大得不仅足以映射存储设备110的地址,还可以映射很多存储设备的地址。在本发明的一种实施方案中,为控制存储设备110所需的存储器空间的量最多是512字节。在每个存储设备需要512字节的情况下,可以通过使用存储器BAR302而在PCI总线106上寻址的存储设备的数目是相当大的,可以大于4个。在可替换的实施方案中,为控制存储设备110所需的存储器空间的量可以是更少或更多数量的字节。寻址存储设备所需的字节数量要根据控制每个设备所需的能力而定,并且是对于每个设备所支持的特性集合的函数。考虑到存储器BAR302中大的可寻址空间以及每个存储设备所需的相对较小的字节数量,在本发明的实施方案中可以同时支持的存储设备的数目是非常大的,并且可以超过四个存储设备。因此,本发明的实施方案所提供的配置机制使得系统100能够利用存储器空间202中的某些预定义的地址,将由组成PCI设备101的CPU或I/O处理器发起的访问转换为PCI总线106上的配置访问。
图4图示了根据本发明的某些实施方案,用于配置系统100以在PCI设备101和存储设备110之间进行突发模式的PIO数据传输的逻辑。
在框400,系统100开机。控制前进到框404,其中配置软件120配置图3中所描述的存储器BAR302。控制前进到框408,其中设备适配器112确定存储器BAR302映射到存储器地址空间202。然后控制前进到框416,其中用于配置系统100的过程结束。
在图4中描述的逻辑使得设备适配器112能够在系统100中的PCI设备101和存储设备110之间以突发PIO模式来传输数据。将数据端口200配置到存储器地址空间202中的地址202a,这使得突发模式PIO模式的数据传输能够进行,其中在某些实施方案中每个事务可以传输几千字节的数据。
图5a图示了根据本发明的某些实施方案,用于对存储设备110进行突发模式的基于编程I/O的数据写的逻辑。控制开始于框500,其中PCI设备101向设备适配器112上的数据端口200发送PIO数据,其中所述数据端口200是通过存储器地址空间202中的字节地址202a来寻址的。所述PIO数据是以突发模式发送的,即所发送的数据量可以达几千字节。设备适配器112(在框504)将所述PIO数据接收到与数据端口200耦合的发送/接收缓冲器204中。控制前进到框508,其中设备适配器112将所述PIO数据从发送/接收缓冲器204发送到存储设备110。存储设备110(在框512)接收由PCI设备101发送的PIO数据。
图5b图示了根据本发明的某些实施方案,用于从存储设备110进行突发模式的基于编程I/O的数据读的逻辑。控制开始于框550,其中PCI设备101经由设备适配器112上的数据端口200向存储设备110请求数据,其中所述数据端口是通过存储器地址空间202中的字节地址202a来寻址的。所述PIO数据是以突发模式接收的,即所发送的数据量可以达几千字节。控制前进到框558,其中设备适配器112将所述PIO数据从与数据端口200相关联的发送/接收缓冲器204发送到PCI设备101。控制前进到框562,其中PCI设备101接收突发模式的PIO数据。
图5a和图5b的逻辑图示了PIO数据经由与设备适配器112的数据端口200相耦合的发送/接收缓冲器204,在PCI设备101和存储设备110之间的突发模式传输。所述数据端口被映射到存储器地址空间202。存储器地址空间202是通过配置存储器基址寄存器302而创建的。PIO数据的突发模式传输提高了存储设备110和PCI设备101(例如处理器)之间在PCI总线106上的数据传输速度。因此,所描述的实施方案为主机总线系统中基于PIO的数据传输提供了改进的技术,其中在某些实施方式中每个事务可以传输几千字节的数据。
                      附加实施方式
使用标准的编程和/或工程设计技术来产生软件、固件、硬件或它们的组合,可以将这里所描述的操作实现为一种方法、装置或制品。用在这里的术语“制品”是指在硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)或者机器可读介质(例如磁存储介质(例如硬盘、软盘、磁带等)、光存储设备(CD-ROM、光盘等)、易失性和非易失性存储器件(例如EEPROM、ROM、PROM、RAM、DRAM、SDRAM)、固件、可编程逻辑等)上实现的机器可读指令或逻辑。在计算机可读介质中的代码可由处理器来访问并执行。还可以通过传输介质,或者通过网络从文件服务器访问其中实现了优选实施方案的代码。在这些情形中,其中实现了代码的制品可以包括传输介质,例如网络传输线、无线传输介质、通过空间、无线电波、红外线信号等传播的信号等。当然,本领域的技术人员将会认识到,在不偏离本发明的范围的情况下,可以对这种配置做出很多修改,并且所述制品可以包括在本领域中公知的任何承载信息的介质。
在所描述的实施方案中,存储设备在总线拓扑上通信,所述总线拓扑例如是PCI-X或PCI总线拓扑。在可替换的实施方案中,存储设备可以使用本领域中公知的任何通信体系结构来通信。可替换的实施方案可以使用不同于IDE、ATA、SATA或ATAPI的接口。
在PCI总线的实施方案中,可以使用附加的PCI-X或PCI桥。在某些实施方案中,存储设备包括磁硬盘。在可替换的实施方案中,存储设备可以包括本领域中公知的任何存储设备,例如光盘、磁带、CDROM驱动器、DVD等。
在所述的实施方案中,以一定数量的位图示了寄存器的长度。在可替换的实施方案中,寄存器的长度可以具有不同数量的位。
图4、图5a和图5b的逻辑描述了以特定顺序发生的具体操作。在可替换的实施方案中,可以以不同的顺序,即经过修改或删除的顺序来执行所述逻辑操作中的某些操作。此外,可以向上述逻辑中增加步骤,并且这些步骤仍然遵守所描述的实施方案。另外,这里所描述的操作可以依次发生,或者可以并行处理某些操作。还有,可以由单个处理单元或者分布式处理单元来执行操作。
出于图示和描述的目的已给出了对本发明优选实施方案的以上描述。这些描述不希望是穷尽性的,或者将本发明限制为所公开的精确形式。按照以上教导,很多修改和变化都是可能的。本发明的范围不想由这一详细描述来限定,而是想用所附的权利要求来限定。以上说明书、实施例和数据提供了生产和使用本发明的结构的完整描述。由于在不偏离本发明的精神和范围的情况下可以实现本发明的很多实施方案,所以本发明由所附的权利要求书来表示。
**Intel是英特尔公司的注册商标。PowerPC是IBM公司的注册商标。

Claims (40)

1.一种局部总线系统中的方法,包括:
配置存储器地址空间来控制I/O设备;以及
将所述存储器地址空间与耦合到所述局部总线系统的端口关联起来。
2.如权利要求1所述的方法,其中所述端口是数据端口,并且所述方法还包括:
关联与所述局部总线系统相耦合的设备适配器中的缓冲器;以及
将所述缓冲器与所述数据端口关联起来,其中所述缓冲器为所述数据端口存储并接收数据。
3.如权利要求2所述的方法,其中所述数据是编程I/O数据。
4.如权利要求1所述的方法,其中“配置所述存储器地址空间”的操作还包括:
将局部总线功能与所述I/O设备关联起来;以及
将对应于所述局部总线功能的寄存器配置为所述存储器地址空间中的存储器地址,其中所配置的寄存器被用来控制所述I/O设备。
5.如权利要求1所述的方法,还包括:
在设备适配器中的所述端口处接收来自PCI设备的编程I/O数据,其中所述端口映射到所述存储器地址空间中的字节地址;
从所述设备适配器向所述I/O设备发送所述编程I/O数据。
6.如权利要求5所述的方法,其中经由耦合到所述端口的缓冲器来接收和发送所述编程I/O数据。
7.如权利要求1所述的方法,还包括:
在设备适配器中的所述端口处接收数据请求,其中所述端口映射到所述存储器地址空间中的字节地址,并且其中所述请求来自PCI设备;
基于所述请求,从所述设备适配器向所述I/O设备发送所述请求;
从所述I/O设备接收编程I/O数据;以及
将所述编程I/O数据发送到所述PCI设备。
8.如权利要求7所述的方法,其中所述端口被耦合到所述设备适配器,并且其中,经由耦合到所述端口的缓冲器来接收和发送所述编程I/O数据。
9.如权利要求1所述的方法,其中所述设备是设备适配器。
10.如权利要求1所述的方法,其中所述I/O设备是ATA、IDE或SATA设备。
11.如权利要求1所述的方法,其中所述端口的长度是一个或多个字节。
12.一种系统,包括:
局部总线;
耦合到所述局部总线的I/O设备;
被配置来控制所述I/O设备的存储器地址空间;以及
耦合到所述局部总线的端口,其中所述存储器地址空间与所述端口相关联。
13.如权利要求12所述的系统,其中所述端口是数据端口,并且所述系统还包括:
耦合到所述局部总线的设备适配器;以及
所述设备适配器中的缓冲器,其中所述缓冲器与所述数据端口相关联,并且其中,所述缓冲器为所述数据端口存储并接收数据。
14.如权利要求13所述的系统,其中所述数据是编程I/O数据。
15.如权利要求12所述的系统,还包括:
与所述I/O设备相关联的局部总线功能;以及
对应于所述局部总线功能的寄存器,该寄存器被配置为所述存储器地址空间中的存储器地址,其中所配置的寄存器被用来控制所述I/O设备。
16.如权利要求12所述的系统,还包括:
耦合到所述局部总线的设备适配器;
耦合到所述局部总线的PCI设备,其中所述端口位于所述设备适配器中,其中所述端口从所述PCI设备接收编程I/O数据,并且其中所述端口映射到所述存储器地址空间中的字节地址,并且其中所述编程I/O数据从所述设备适配器被发送到所述I/O设备。
17.如权利要求16所述的系统,还包括缓冲器,其中经由耦合到所述端口的缓冲器来接收和发送所述编程I/O数据。
18.如权利要求12所述的系统,还包括:
耦合到所述局部总线的设备适配器;
耦合到所述局部总线的PCI设备,其中所述设备适配器中的所述端口接收数据请求,其中所述端口映射到所述存储器地址空间中的字节地址,其中所述请求是来自所述PCI设备,其中所述请求从所述设备适配器被发送到所述I/O设备,其中从所述I/O设备接收编程I/O数据,并且其中所述编程I/O数据被发送到所述PCI设备。
19.如权利要求18所述的系统,还包括:
耦合到所述端口的缓冲器,其中所述端口被耦合到所述设备适配器,并且其中经由所述缓冲器来接收和发送所述编程I/O数据。
20.如权利要求12所述的系统,其中所述端口的长度是一个或多个字节。
21.一种利用耦合到局部总线的I/O设备来传输数据的系统,包括:
被配置来控制所述I/O设备的存储器地址空间;以及
耦合到所述局部总线的端口,其中所述存储器地址空间与所述端口相关联。
22.如权利要求21所述的系统,其中所述端口是数据端口,并且所述系统还包括:
耦合到所述局部总线的设备适配器;
所述设备适配器中的缓冲器,其中所述缓冲器与所述数据端口相关联,并且其中,所述缓冲器为所述数据端口存储并接收数据。
23.如权利要求22所述的系统,其中所述数据是编程I/O数据。
24.如权利要求21所述的系统,还包括:
与所述I/O设备相关联的局部总线功能;
对应于所述局部总线功能的寄存器,其中所述寄存器被配置为所述存储器地址空间中的存储器地址,其中所配置的寄存器被用来控制所述I/O设备。
25.如权利要求21所述的系统,还包括:
耦合到所述局部总线的设备适配器;以及
耦合到所述局部总线的PCI设备,其中所述端口位于所述设备适配器中,其中所述端口从所述PCI设备接收编程I/O数据,并且其中所述端口映射到所述存储器地址空间中的字节地址,并且其中所述编程I/O数据从所述设备适配器被发送到所述I/O设备。
26.如权利要求25所述的系统,还包括缓冲器,其中经由耦合到所述端口的缓冲器来接收和发送所述编程I/O数据。
27.如权利要求21所述的系统,还包括:
耦合到所述局部总线的设备适配器;以及
耦合到所述局部总线的PCI设备,其中所述端口接收数据请求,其中所述端口映射到所述存储器地址空间中的字节地址,其中所述请求是来自所述PCI设备,其中基于所述请求,所述请求从所述设备适配器被发送到所述I/O设备,其中从所述I/O设备接收编程I/O数据,并且其中所述编程I/O数据被发送到所述PCI设备。
28.如权利要求27所述的系统,还包括:
耦合到所述端口的缓冲器,其中所述端口被耦合到所述设备适配器,并且其中经由所述缓冲器来接收和发送所述编程I/O数据。
29.如权利要求21所述的系统,其中所述端口的长度是一个或多个字节。
30.一种制品,其中所述制品能够引起操作,所述操作包括:
配置存储器地址空间来控制I/O设备;以及
将所述存储器地址空间与耦合到所述局部总线系统的端口关联起来。
31.如权利要求30所述的制品,其中所述端口是数据端口,并且所述操作还包括:
关联与所述局部总线系统相耦合的设备适配器中的缓冲器;以及
将所述缓冲器与所述数据端口关联起来,其中所述缓冲器为所述数据端口存储并接收数据。
32.如权利要求31所述的制品,其中所述数据是编程I/O数据。
33.如权利要求30所述的制品,其中“配置所述存储器地址空间”的操作还包括:
将局部总线功能与所述I/O设备关联起来;以及
将对应于所述局部总线功能的寄存器配置为所述存储器地址空间中的存储器地址,其中所配置的寄存器被用来控制所述I/O设备。
34.如权利要求30所述的制品,还包括:
在设备适配器中的所述端口处接收来自PCI设备的编程I/O数据,其中所述端口映射到所述存储器地址空间中的字节地址;
从所述设备适配器向所述I/O设备发送所述编程I/O数据。
35.如权利要求34所述的制品,其中经由耦合到所述端口的缓冲器来接收和发送所述编程I/O数据。
36.如权利要求30所述的制品,还包括:
在设备适配器中的所述端口处接收数据请求,其中所述端口映射到所述存储器地址空间中的字节地址,并且其中所述请求来自PCI设备;
基于所述请求,从所述设备适配器向所述I/O设备发送所述请求;
从所述I/O设备接收编程I/O数据;以及
将所述编程I/O数据发送到所述PCI设备。
37.如权利要求36所述的制品,其中所述端口被耦合到所述设备适配器,并且其中,经由耦合到所述端口的缓冲器来接收和发送所述编程I/O数据。
38.如权利要求30所述的制品,其中所述设备是设备适配器。
39.如权利要求30所述的制品,其中所述I/O设备是ATA、IDE或SATA设备。
40.如权利要求30所述的制品,其中所述端口的长度是一个或多个字节。
CNB038226782A 2002-07-24 2003-07-17 基于存储器的数据传输的方法、系统和设备 Expired - Fee Related CN100339836C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/205,546 2002-07-24
US10/205,546 US6807600B2 (en) 2002-07-24 2002-07-24 Method, system, and program for memory based data transfer

Publications (2)

Publication Number Publication Date
CN1685318A true CN1685318A (zh) 2005-10-19
CN100339836C CN100339836C (zh) 2007-09-26

Family

ID=30770092

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038226782A Expired - Fee Related CN100339836C (zh) 2002-07-24 2003-07-17 基于存储器的数据传输的方法、系统和设备

Country Status (8)

Country Link
US (1) US6807600B2 (zh)
EP (1) EP1532533B1 (zh)
CN (1) CN100339836C (zh)
AT (1) ATE419582T1 (zh)
AU (1) AU2003259191A1 (zh)
DE (1) DE60325605D1 (zh)
TW (1) TWI280483B (zh)
WO (1) WO2004010314A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462524A (zh) * 2014-05-09 2017-02-22 美光科技公司 使用混合存储器立方体链路的互连系统及方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931457B2 (en) * 2002-07-24 2005-08-16 Intel Corporation Method, system, and program for controlling multiple storage devices
US6928509B2 (en) * 2002-08-01 2005-08-09 International Business Machines Corporation Method and apparatus for enhancing reliability and scalability of serial storage devices
TWI221225B (en) * 2002-08-29 2004-09-21 Via Tech Inc Physical layer structure adapted to provide parallel and serial ATA interfaces
KR100487539B1 (ko) * 2002-09-02 2005-05-03 삼성전자주식회사 직렬 에이티에이 케이블과 연결되는 불휘발성 반도체메모리 장치
GB2395302B (en) * 2002-11-13 2005-12-28 Advanced Risc Mach Ltd Hardware driven state save/restore in a data processing system
US8149862B1 (en) * 2002-11-15 2012-04-03 Netlogic Microsystems, Inc. Multi-protocol communication circuit
US7107369B2 (en) * 2002-12-19 2006-09-12 Intel Corporation Connecting storage devices to a processor-based device
US7058749B2 (en) * 2003-11-13 2006-06-06 Dell Products L.P. System and method for communications in serial attached SCSI storage network
TWI254858B (en) * 2004-04-14 2006-05-11 Mediatek Inc Multitask data transfer system on ATA bus
US7620746B2 (en) 2005-09-29 2009-11-17 Apple Inc. Functional DMA performing operation on DMA data and writing result of operation
US7496695B2 (en) 2005-09-29 2009-02-24 P.A. Semi, Inc. Unified DMA
US20070214277A1 (en) * 2006-03-07 2007-09-13 Ahmed Ali U Peer-to-peer network communications using SATA/SAS technology
US8065454B1 (en) * 2009-08-20 2011-11-22 Qlogic, Corporation System and method for mapping functions to and from network devices using configuration compatible with an adapter by remapping plurality of logical ports of adapter

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4535404A (en) 1982-04-29 1985-08-13 Honeywell Information Systems Inc. Method and apparatus for addressing a peripheral interface by mapping into memory address space
US5838932A (en) 1996-12-23 1998-11-17 Compaq Computer Corporation Transparent PCI to PCI bridge with dynamic memory and I/O map programming
US6094699A (en) * 1998-02-13 2000-07-25 Mylex Corporation Apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller
US6233641B1 (en) 1998-06-08 2001-05-15 International Business Machines Corporation Apparatus and method of PCI routing in a bridge configuration
US6275876B1 (en) 1999-05-21 2001-08-14 International Business Machines Corporation Specifying wrap register for storing memory address to store completion status of instruction to external device
US6710620B2 (en) 2001-03-13 2004-03-23 Adc Telecommunications Israel, Ltd. Bus interface for I/O device with memory
US6931457B2 (en) * 2002-07-24 2005-08-16 Intel Corporation Method, system, and program for controlling multiple storage devices

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462524A (zh) * 2014-05-09 2017-02-22 美光科技公司 使用混合存储器立方体链路的互连系统及方法
CN106462524B (zh) * 2014-05-09 2020-02-07 美光科技公司 使用混合存储器立方体链路的互连系统及方法
US11132127B2 (en) 2014-05-09 2021-09-28 Micron Technology, Inc. Interconnect systems and methods using memory links to send packetized data between different data handling devices of different memory domains
US11947798B2 (en) 2014-05-09 2024-04-02 Micron Technology, Inc. Packet routing between memory devices and related apparatuses, methods, and memory systems

Also Published As

Publication number Publication date
CN100339836C (zh) 2007-09-26
EP1532533B1 (en) 2008-12-31
AU2003259191A1 (en) 2004-02-09
WO2004010314A2 (en) 2004-01-29
TWI280483B (en) 2007-05-01
US6807600B2 (en) 2004-10-19
EP1532533A2 (en) 2005-05-25
ATE419582T1 (de) 2009-01-15
WO2004010314A3 (en) 2004-04-08
DE60325605D1 (de) 2009-02-12
US20040019707A1 (en) 2004-01-29
AU2003259191A8 (en) 2004-02-09
TW200408958A (en) 2004-06-01

Similar Documents

Publication Publication Date Title
US7822908B2 (en) Discovery of a bridge device in a SAS communication system
US7849242B2 (en) PCI express-compatible controller and interface that provides PCI express functionality and flash memory operations to host device
JP5128079B2 (ja) ユニバーサルストレージバスアダプタ
CN100339836C (zh) 基于存储器的数据传输的方法、系统和设备
US6772108B1 (en) Raid controller system and method with ATA emulation host interface
US7805543B2 (en) Hardware oriented host-side native command queuing tag management
US6859856B2 (en) Method and system for a compact flash memory controller
CN1595381B (zh) 桥控制器、桥和操作该桥的方法
CN100426277C (zh) 用于控制多个输入/输出设备的方法和系统
JPH10207637A (ja) コンピュータをデータ記憶装置と通信させる方法及び構成
TW200406680A (en) Method, system, and program for handling input/output commands
WO2004081738A2 (en) Method and system for embedded disk controllers
EP1236106A1 (en) Raid controller system and method with ata emulation host interface
US7472158B2 (en) Initiator connection tag for simple table lookup
US7725664B2 (en) Configuration definition setup method for disk array apparatus, and disk array apparatus
CN1229736C (zh) 监测计算机系统资源的装置及串行总线和该资源相通方法
US20050188145A1 (en) Method and apparatus for handling data transfers
US7870316B1 (en) System and method for providing an inline data conversion for multiplexed data streams
US20060277326A1 (en) Data transfer system and method
US7287102B1 (en) System and method for concatenating data
CN1609831A (zh) 专用设备和设备功能的配置

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070926

Termination date: 20130717