CN1685329A - 用于控制多个输入/输出设备的方法、系统和程序 - Google Patents

用于控制多个输入/输出设备的方法、系统和程序 Download PDF

Info

Publication number
CN1685329A
CN1685329A CN03822682.0A CN03822682A CN1685329A CN 1685329 A CN1685329 A CN 1685329A CN 03822682 A CN03822682 A CN 03822682A CN 1685329 A CN1685329 A CN 1685329A
Authority
CN
China
Prior art keywords
register
local bus
equipment
configuration
function
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
CN03822682.0A
Other languages
English (en)
Other versions
CN100426277C (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 CN1685329A publication Critical patent/CN1685329A/zh
Application granted granted Critical
Publication of CN100426277C publication Critical patent/CN100426277C/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Selective Calling Equipment (AREA)
  • Control By Computers (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明提供了一种用于控制耦合到局部总线的一个或多个I/O设备的方法、系统和产品。局部总线功能与所述一个或多个I/O设备相关联。对应于所述局部总线功能的寄存器被配置为存储器地址。经由所配置的寄存器来控制所述一个或多个I/O设备。

Description

用于控制多个输入/输出设备的方法、系统和程序
技术领域
本发明涉及用于控制多个存储设备的系统、方法和程序。
背景技术
局部输入/输出(I/O)总线是用于将诸如存储设备的外围设备耦合到计算机系统的高速输入/输出(I/O)总线。外围部件互连(PCI)总线和PCI总线的增强型,例如PCI-X总线都是常用的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:高速串行化高级技术配件”的公开文本(版本1.0,版权2001)中描述了SATA的更多细节。类似于IDE/ATA的技术,例如ATA分组接口(ATAPI)技术可用于CD ROM和DVD设备。接口的带宽和处理能力可能会大大影响系统性能、系统配置、系统兼容性、系统升级能力等。
通道(channel)一般是信息在IDE接口中流经的数据路径(data pathway)。每个PCIIDE接口可能有两个通道,主通道和次通道,每种PCI功能一个通道。此外,每个通道最多可以支持两个设备。例如,主通道可以支持两个IDE存储设备,次通道也可以支持两个IDE存储设备。PCI功能的配置头端可以被配置来控制附接于PCI总线的四个PCI IDE设备。BAR0、BAR1、BAR2、BAR3和BAR4可以被配置为I/O BAR。I/O BAR0可以是用于主通道的命令寄存器组(register block)。I/O BAR1可以是用于主通道的控制寄存器组。I/O BAR2可以是用于次通道的命令寄存器组。I/O BAR3可以是用于次通道的控制寄存器组。I/O BAR4可以对用于主通道和次通道的总线主控寄存器进行控制。BAR5可以是设备专用的,即BAR5不是PCI IDE规范的一部分。因此,单个PCI功能经由两个通道最多可以控制四个IDE存储设备。在名为“PCI IDE控制器规范”(版本1.0,1994)的公开文本第1-5页中描述了将BAR配置为用于PCI IDE的I/O BAR。
虽然在现有技术中,PCI IDE/ATA已被用于支持外围设备,但是在本领域中需要改进的技术来控制在具有SATA一类接口的局部I/O总线体系结构中的外围设备。
附图说明
现在参考附图,在整个附图中相同的标号代表相应的部分:
图1图示了根据本发明某些被描述的实施方案,用于访问存储设备中的数据的总线体系结构;
图2图示了根据本发明某些被描述的实施方案,用于设备的PCI功能的框图;
图3图示了根据本发明某些被描述的实施方案,用于点到点连通性的PCI功能的配置头端的框图;以及
图4图示了根据本发明某些被描述的实施方案,用于控制附接于局部总线的存储设备的逻辑。
具体实施方式
在以下描述中将参考附图,这些附图构成了描述的一部分,并且图示了本发明的几种实施方案。可以理解,也可以使用其他实施方案,在不偏离本发明的范围的情况下,可以作出结构和操作上的改变。
本发明被描述的实施方案给出了允许单个PCI功能控制四个以上的ATA/ATAPI/SATA设备的技术。本发明的附加实施方案在PCI IDE模式和直接地址模式之间实现一个开关,在所述PCI IDE模式中,使用单个PCI功能可以控制不超过四个设备,在直接地址模式中,使用单个PCI功能可以控制四个以上的ATA/ATAPI/SATA设备。
图1图示了根据本发明多种实施方案的系统100,其中包括用于访问诸如SATA存储设备一类的存储设备中的数据的总线体系结构。诸如中央处理单元(CPU)或I/O处理器的PCI设备101被耦合到诸如PCI(或者PCI-X)总线的主机总线106。CPU可以是本领域中公知的任何CPU,例如INTEL**x86系列微处理器、PowerPC**处理器等。I/O处理器可以是本领域中公知的任何I/O处理器,例如INTEL**80321或者INTEL**80310。
诸如存储设备110...117的八个存储设备经由设备适配器118被耦合到PCI总线106,所述设备适配器例如是串行ATA(SATA)适配器。存储设备110...117可以是本领域中公知的任何类型的存储设备,例如SATA、ATA、ATAPI等类型的存储设备。设备适配器118可以是本领域中公知的任何类型的设备适配器,例如SATA、ATA、ATAPI等类型的存储适配器。虽然示出了八个存储设备110...117,但是更少或更多数量的存储设备可以经由设备适配器118被连接到PCI总线106。
设备适配器118以点到点的方式,将八个存储设备110...117中的每一个设备用它们各自的缆线耦合到PCI总线106。这样,八个存储设备110...117中的每一个设备都可以同时以直接访问模式来传输数据。
配置软件120可以对系统100进行配置,使得设备110...117可以经由PCI总线106来交换数据。配置软件120可以是BIOS的一部分,是单独的软件模块的一部分,是驻留在系统100上的设备驱动程序的一部分,可以被耦合到PCI设备101,等等。
图2图示了根据本发明的实施方案,指示与系统100相对应的、可由单个PCI功能200来控制的代表性数量的存储设备的框图。在图2中,根据本发明的实施方案,单个PCI功能200可以控制八个存储设备110...117。在本发明可替换的实施方案中,可以由单个PCI功能200来控制更少或更多数量的设备。PCI功能200实现了在PCI规范的第6章中定义的一个基本的配置寄存器202组。配置寄存器202是配置空间(在图2中未示出)的一部分,这些寄存器在每种PCI规范下都与PCI功能200相关联。图1和图2的实施方案对于每种PCI规范都可以允许四个以上的设备同时耦合到PCI总线。此外,由于存储设备110...117的点到点的连通性,存储设备110...117中的每个设备可以同时传输数据。
PCI设备101可以拥有寻址两个不同地址空间的能力:I/O地址空间和存储器地址空间。PCI设备101分别使用PCI I/O事务和存储器事务来访问PCI I/O和存储器位置。此外,第三种访问类型,即配置访问,被用来访问设备的配置寄存器。可以在系统100复位时初始化PCI功能200的配置寄存器202,以配置PCI功能200来响应由配置软件120分配给所述PCI功能的存储器和I/O地址范围。
当诸如系统100的系统被复位时,诸如配置软件120的配置软件扫描系统100中的各种总线,以确定存在哪些设备,这些设备又具有怎样的配置要求。上述过程被称为“扫描总线”或“走过总线”。实现在PCI规范的第6章中定义的配置寄存器202(图示在图2中),以便协助完成这一过程。
图3图示了根据本发明的某些实施方案,用于将存储设备110...117点到点地连接到PCI总线106的PCI功能200的配置头端300。
在图3中,两个32位的基址寄存器BAR0和BARI被合在一起配置为一个64位的存储器基址寄存器(标号302所指示的存储器BAR),它从地址10hex开始。在可替换的实施方案中,可以使用不同于10hex的不同起始地址来存储所述存储器BAR 302。在图3中,分别对应于基址寄存器BAR2、BAR3、BAR4和BAR5的双字306、308、310和312可以留着不用。存储设备110...117的寄存器组可以通过存储器BAR 302被映射到存储器空间中。在某些实施方案中,存储器BAR 302可以是64位长,并且可以在264位的存储器空间中定位一个地址,其中存储器空间的范围对应于用来控制存储设备110...117的区域。可以通过访问存储器空间来控制存储设备110...117。
因此,存储器BAR 302实现了PCI功能200中的“可编程存储器译码器”。配置软件120可以将存储器空间中的一个64位存储器地址分配给存储器BAR 302。因为存储器BAR302可以有64位长,并且可寻址的存储器的总量可以是264个字节,这大得足以映射存储设备110...117的寄存器组。在本发明的一种实施方案中,为控制存储设备110...117中的每一个所需的存储器空间的量最多是512字节。在每个存储设备需要512字节的情况下,可以通过使用存储器BAR 302而连接到PCI总线106的存储设备(例如存储盘)的数目将大大超过4个。在可替换的实施方案中,为控制存储设备110...117所需的存储器空间的量可能是更少或更多数量的字节。每个存储设备所需的字节数量要根据控制每个设备所需的能力而定,并且是对于每个设备所支持的特性集合的函数。考虑到存储器BAR 302中大的可寻址空间以及每个存储设备所需的相对较小的字节数量,在本发明的实施方案中可以同时支持实现SATA连通性的存储设备的数目是非常大的。因此,本发明的实施方案所提供的配置机制使得系统100能够利用某些预定义的地址,将由CPU或包括PCI设备100的I/O处理器发起的访问转换为在PCI总线106上的配置访问,其中四个以上的ATA/ATAPI/SATA设备被连接到PCI总线106。
图4图示了根据本发明被描述的实施方案,用于控制附接于局部总线106的存储设备的逻辑。图4中所描述的逻辑可以由配置软件来执行,例如配置软件120,其中配置软件120被耦合到以下系统,在该系统中,存储设备可以以诸如系统100中的点到点方案,或者以现有技术中诸如PCI IDE模式的菊链方案被连接到局部总线。
在框400,系统100复位。控制前进到框404,其中配置软件120确定附接于所述系统的存储设备是否处于PCI IDE模式。如果是这样的,则控制前进到框408,其中配置软件120以本领域中公知的方式,将基址寄存器配置为I/O基址寄存器,然后所述过程停止(在框412)。
如果在框404,配置软件120确定附接于系统的存储设备不是处于PCI IDE模式,则控制前进到框416,其中配置软件120确定与PCI总线106相连的存储设备是否处于直接访问模式(即,存储设备以点到点的方案,例如以SATA模式被连接到PCI总线)。如果是这样的,则配置软件120(在框420)将基址寄存器302...312配置为图3中所描述的存储器BAR 302,然后所述过程停止(在框412)。配置存储器基址寄存器302的结果就是,可以有四个以上的设备(例如存储设备110...117)以点到点的方式附接于PCI总线106。如果在框416处,配置软件120确定存储设备不是处于直接访问模式,则所述过程停止(在框412)。
在图4中描述的逻辑使得系统100能够以下列两种模式之一来运行,一种模式是PCIIDE模式,另一种模式是有四个以上的ATA/SATA类型的设备可以附接于PCI总线。图4的逻辑实现了单个PCI功能200可以控制八个存储设备110...117的接口。
框408实现了使用PCI功能来控制IDE/ATA设备的配置,这需要将IDE/ATA设备映射到I/O空间。这意味着使用单个PCI功能最多可以同时控制四个IDE/ATA设备(或者ATAPI或者SATA)。所描述的实施方案还利用存储器空问提供了一个编程接口,该编程接口允许使用单个PCI功能来控制四个以上的IDE/ATA/ATAPI/SATA设备。能够仅使用单个PCI功能与多个功能相对应,这减少了所需硬件的数量。本发明的附加实施方案在PCI IDE模式和直接地址模式之间实现了一个开关,在所述PCI IDE模式中,使用单个PCI功能可以控制不超过四个设备,在所述直接地址模式中,使用单个PCI功能可以控制四个以上的I/O设备。
附加实施方式
使用标准的编程和/或工程技术来产生软件、固件、硬件或它们的组合,可以将这里所描述的操作实现为一种方法、装置或制品。用在这里的术语“制品”是指在硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)或者机器可读介质(例如磁存储介质(例如硬盘、软盘、磁带等)、光存储设备(CD-ROM、光盘等)、易失性和非易失性存储器件(例如EEPROM、ROM、PROM、RAM、DRAM、SDRAM)、固件、可编程逻辑等)上实现的机器可读指令或逻辑。在计算机可读介质中的代码可由处理器来访问并执行。还可以通过传输介质,或者通过网络从文件服务器访问其中实现优选实施方案的代码。在这些情形中,其中实现了代码的产品可以包括传输介质,例如网络传输线,无线传输介质,通过空间、无线电波、红外线信号等传播的信号等。当然,本领域的技术人员将会认识到,在不偏离本发明的范围的情况下,可以对这种配置做出很多修改,并且所述制品可以包括在本领域中公知的任何承载信息的介质。
在所描述的实施方案中,存储设备在总线拓扑上通信,所述总线拓扑例如是PCI-X或PCI总线拓扑。在可替换的实施方案中,存储设备可以使用本领域中公知的任何通信体系结构来通信。可替换的实施方案可以使用不同于IDE、ATA、SATA或ATAPI的接口。
在PCI总线的实施方案中,可以使用附加的PCI-X或PCI桥。在某些实施方案中,存储设备包括磁硬盘。在可替换的实施方案中,存储设备可以包括本领域中公知的任何存储设备,例如光盘、磁带、CDROM驱动器、DVD等。
在所述的实施方案中,以一定数量的位图示了寄存器的长度。在所述实施方案中,如果主机总线是PCI总线,那么如果基址寄存器是I/O译码器,则每个基址寄存器都是32位宽,如果基址寄存器是存储器译码器,则每个基址寄存器可以是32位宽或64位宽。如果主机总线106是PCI-X总线,那么如果基址寄存器是I/O译码器,则每个基址寄存器是32位宽,如果基址寄存器是存储器译码器,则每个基址寄存器是64位宽。在可替换的实施方案中,基址寄存器的长度可以具有不同数量的位。
图4的逻辑描述了以特定顺序发生的具体操作。在可替换的实施方案中,可以以不同的顺序,即经过修改或删除的顺序来执行所述逻辑操作中的某些操作。此外,可以往上述逻辑中增加步骤,并且这些步骤仍然遵守所描述的实施方案。另外,这里所描述的操作可以依次发生,或者可以并行处理某些操作。还有,可以由单个处理单元或者分布式处理单元来执行操作。
出于图示和描述的目的已给出了对本发明优选实施方案的以上描述。这些描述不希望是穷尽的,或者将本发明限制为所公开的精确形式。按照以上教导,很多修改和变化都是可能的。本发明的范围不想由这一详细描述来限定,而是想用所附的权利要求书来限定。以上说明书、实施例和数据提供了生产和使用本发明的结构的完整描述。由于在不偏离本发明的精神和范围的情况下可以实现本发明的很多实施方式,所以本发明由所附的权利要求来表示。
**:Intel是Intel公司的注册商标,PowerPC是IBM公司的注册商标。

Claims (43)

1.一种用于控制耦合到局部总线的一个或多个I/O设备的方法,包括:
将局部总线功能与所述一个或多个I/O设备关联起来;
将与所述局部总线功能相对应的寄存器配置为存储器地址;以及
经由所配置的寄存器来控制所述一个或多个I/O设备。
2.如权利要求1所述的方法,其中,所述存储器地址被耦合到存储器空间,其中所述存储器空间将控制映射到所述一个或多个I/O设备,并且其中通过访问所述存储器空间来控制所述一个或多个I/O设备。
3.如权利要求1所述的方法,其中,由耦合到所述局部总线的配置软件来执行所述配置操作。
4.如权利要求1所述的方法,其中,所述寄存器被配置为存储器基址寄存器,并且其中所述存储器基址寄存器是32位长或64位长。
5.如权利要求1所述的方法,其中,所配置的寄存器起到可编程存储器译码器的作用。
6.如权利要求1所述的方法,其中,所述寄存器被存储在所述局部总线功能的配置头端中。
7.如权利要求1所述的方法,其中,所述局部总线是PCI总线,并且所述局部总线功能是PCI功能。
8.如权利要求1所述的方法,其中,所述一个或多个I/O设备是以点到点机制被连接到所述局部总线的存储设备。
9.如权利要求8所述的方法,其中,所述点到点机制是通过串行ATA接口来实现的。
10.如权利要求1所述的方法,其中,所述局部总线功能被用来控制四个以上的I/O设备。
11.如权利要求1所述的方法,其中,所述一个或多个I/O设备遵循ATA、ATAPI或SATA接口。
12.一种用于控制连接到局部总线的一个或多个I/O设备的方法,包括:
将局部总线功能与所述一个或多个I/O设备关联起来;
如果所述一个或多个I/O设备处于第一访问模式,则将寄存器配置为I/O地址;
如果所述一个或多个I/O设备处于第二访问模式,则将与所述局部总线功能相对应的寄存器配置为存储器地址。
13.如权利要求12所述的方法,其中,所述第一访问模式是PCI IDE模式,并且所述第二访问模式是直接访问模式。
14.如权利要求12所述的方法,其中,所述寄存器被存储在所述局部总线功能的配置头端中,并且其中通过将所述寄存器配置为存储器基址寄存器,所述寄存器被配置为存储器译码器。
15.如权利要求12所述的方法,其中,所述寄存器被存储在所述局部总线功能的配置头端中,并且其中通过将所述寄存器配置为I/O基址寄存器,所述寄存器被配置为I/O译码器。
16.一种用于控制耦合到局部总线的一个或多个I/O设备的系统,包括:
与所述一个或多个I/O设备相关联的局部总线功能;以及
与所述局部总线功能相对应的寄存器,其中所述寄存器被配置为存储器地址,并且其中,经由所配置的寄存器来控制所述一个或多个I/O设备。
17.如权利要求16所述的系统,还包括主机总线适配器,其中所述主机总线适配器将所述一个或多个I/O设备耦合到所述局部总线。
18.如权利要求16所述的系统,还包括:
存储器空间,其中,所述存储器地址被耦合到所述存储器空间,其中所述存储器空间将控制映射到所述一个或多个I/O设备,并且其中,通过访问所述存储器空间来控制所述一个或多个I/O设备。
19.如权利要求16所述的系统,其中所述寄存器被配置为存储器基址寄存器,并且其中,所述存储器基址寄存器是32位长或64位长,并且其中,所配置的寄存器起到可编程存储器译码器的作用。
20.如权利要求16所述的系统,其中所述局部总线是PCI总线,其中所述局部总线功能是PCI功能,其中所述PCI功能具有配置头端,并且其中所述寄存器被存储在所述PCI功能的所述配置头端中。
21.如权利要求16所述的系统,其中,所述局部总线功能被用来控制四个以上的I/O设备。
22.如权利要求16所述的系统,其中,所述一个或多个I/O设备遵循ATA、ATAPI或SATA接口。
23.一种系统,包括:
局部总线;
耦合到所述局部总线的一个或多个I/O设备;
与所述一个或多个I/O设备相关联的局部总线功能;以及
对应于所述局部总线功能的寄存器,其中所述寄存器被配置为存储器地址,并且其中,经由所配置的寄存器来控制所述一个或多个I/O设备。
24.如权利要求23所述的系统,还包括主机总线适配器,其中所述主机总线适配器将所述一个或多个I/O设备耦合到所述局部总线。
25.如权利要求23所述的系统,还包括:
存储器空间,其中所述存储器地址被耦合到所述存储器空间,其中所述存储器空间将控制映射到所述一个或多个I/O设备,并且其中,通过访问所述存储器空间来控制所述一个或多个I/O设备。
26.如权利要求23所述的系统,还包括:
耦合到所述局部总线的配置软件,其中所述配置软件将所述寄存器配置为所述存储器地址。
27.如权利要求23所述的系统,其中所述寄存器被配置为存储器基址寄存器,并且其中,所述存储器基址寄存器是32位长或64位长,并且其中,所配置的寄存器起到可编程存储器译码器的作用。
28.如权利要求23所述的系统,其中,所述一个或多个I/O设备是以点到点机制连接到所述局部总线的存储设备。
29.如权利要求23所述的系统,其中,所述局部总线功能被用来控制四个以上的I/O设备。
30.一种系统,包括:
局部总线;
耦合到所述局部总线的一个或多个I/O设备;
与所述一个或多个I/O设备相关联的局部总线功能;以及
对应于所述局部总线功能的寄存器,其中如果所述一个或多个I/O设备处于第一访问模式,则将所述寄存器配置为I/O地址,并且其中,如果所述一个或多个I/O设备处于第二访问模式,则将所述寄存器配置为存储器地址。
31.如权利要求30所述的系统,其中所述局部总线功能是PCI功能,其中所述第一访问模式是PCI IDE模式,并且其中所述第二访问模式是直接访问模式。
32.如权利要求30所述的系统,还包括:
耦合到所述局部总线功能的配置头端,其中所述寄存器被存储在所述配置头端中,并且其中通过将所述寄存器配置为存储器基址寄存器,所述寄存器被配置为存储器译码器。
33.如权利要求30所述的系统,还包括:
耦合到所述局部总线功能的配置头端,其中所述寄存器被存储在所述局部总线功能中,并且其中通过将所述寄存器配置为I/O基址寄存器,所述寄存器被配置为I/O译码器。
34.一种用于控制耦合到局部总线的一个或多个I/O设备的制品,其中所述制品能够引发多种操作,所述操作包括:
将局部总线功能与所述一个或多个I/O设备关联起来;
将与所述局部总线功能相对应的寄存器配置为存储器地址;以及
经由所配置的寄存器来控制所述一个或多个I/O设备。
35.如权利要求34所述的制品,其中,所述存储器地址被耦合到存储器空间,其中所述存储器空间将控制映射到所述一个或多个I/O设备,并且其中通过访问所述存储器空间来控制所述一个或多个I/O设备,并且其中由耦合到所述局部总线的配置软件来执行所述配置操作。
36.如权利要求34所述的制品,其中所配置的寄存器起到可编程存储器译码器的作用,其中所述寄存器被配置为存储器基址寄存器,并且其中所述存储器基址寄存器是32位长或64位长。
37.如权利要求34所述的制品,其中,所述局部总线是PCI总线,并且所述局部总线功能是PCI功能,并且其中所述寄存器被存储在所述PCI功能的配置头端中。
38.如权利要求34所述的制品,其中所述局部总线功能被用来控制四个以上的I/O设备。
39.如权利要求34所述的制品,其中,所述一个或多个I/O设备遵循ATA、ATAPI或SATA接口。
40.一种用于控制连接到局部总线的一个或多个I/O设备的制品,其中所述制品能够引发多种操作,所述操作包括:
将局部总线功能与所述一个或多个I/O设备关联起来;
如果所述一个或多个I/O设备处于第一访问模式,则将寄存器配置为I/O地址;以及
如果所述一个或多个I/O设备处于第二访问模式,则将与所述局部总线功能相对应的寄存器配置为存储器地址。
41.如权利要求40所述的制品,其中所述第一访问模式是PCI IDE模式,并且所述第二访问模式是直接访问模式。
42.如权利要求40所述的制品,其中,所述寄存器被存储在所述局部总线功能的配置头端中,并且其中通过将所述寄存器配置为存储器基址寄存器,所述寄存器被配置为存储器译码器。
43.如权利要求40所述的制品,其中,所述寄存器被存储在所述局部总线功能的配置头端中,并且其中通过将所述寄存器配置为I/O基址寄存器,所述寄存器被配置为I/O译码器。
CNB038226820A 2002-07-24 2003-07-23 用于控制多个输入/输出设备的方法和系统 Expired - Fee Related CN100426277C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/205,664 US6931457B2 (en) 2002-07-24 2002-07-24 Method, system, and program for controlling multiple storage devices
US10/205,664 2002-07-24

Publications (2)

Publication Number Publication Date
CN1685329A true CN1685329A (zh) 2005-10-19
CN100426277C CN100426277C (zh) 2008-10-15

Family

ID=30770116

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038226820A Expired - Fee Related CN100426277C (zh) 2002-07-24 2003-07-23 用于控制多个输入/输出设备的方法和系统

Country Status (8)

Country Link
US (1) US6931457B2 (zh)
EP (1) EP1554655B1 (zh)
CN (1) CN100426277C (zh)
AT (1) ATE413650T1 (zh)
AU (1) AU2003254125A1 (zh)
DE (1) DE60324576D1 (zh)
TW (1) TWI266199B (zh)
WO (1) WO2004010317A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092206A (zh) * 2016-02-17 2017-08-25 霍尼韦尔国际公司 具有自动国际电工委员会(iec)地址生成的输入/输出(i/o)绑定
WO2021048709A1 (en) * 2019-09-11 2021-03-18 International Business Machines Corporation Dynamically switching between memory copy and memory mapping to optimize 1/o performance

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807600B2 (en) * 2002-07-24 2004-10-19 Intel Corporation Method, system, and program for memory based data transfer
AU2003270413A1 (en) * 2002-09-06 2004-03-29 Silicon Image, Inc. Method and apparatus for double data rate serial ata phy interface
US20040081179A1 (en) * 2002-10-23 2004-04-29 Gregorcyk Arthur J. Method and system for selecting between serial storage buses using data signals of the buses
US20040083323A1 (en) * 2002-10-24 2004-04-29 Josef Rabinovitz Large array of SATA data device assembly for use in a peripheral storage system
US7000037B2 (en) * 2002-10-24 2006-02-14 Josef Rabinovitz Large array of mass data storage devices connected to a computer by a serial link
US7107369B2 (en) * 2002-12-19 2006-09-12 Intel Corporation Connecting storage devices to a processor-based device
US7051134B2 (en) * 2003-01-21 2006-05-23 Ali Corporation Daisy chained ATA host controllers in a single PCI device
US20040162926A1 (en) * 2003-02-14 2004-08-19 Itzhak Levy Serial advanced technology attachment interface
US7516272B2 (en) 2003-03-28 2009-04-07 Emc Corporation Midplane-independent implementations of data storage system enclosures
WO2007002848A2 (en) * 2005-06-28 2007-01-04 Automated Media Processing Solution Dba Equilibrium Method and system for pre-loading media players
TW200743959A (en) * 2006-05-26 2007-12-01 Via Tech Inc Object stacking structure of driver program
US8225019B2 (en) * 2008-09-22 2012-07-17 Micron Technology, Inc. SATA mass storage device emulation on a PCIe interface
US9176915B2 (en) 2009-04-30 2015-11-03 Dell Products L.P. Data storage device carrier system
JP5374268B2 (ja) * 2009-07-28 2013-12-25 ラピスセミコンダクタ株式会社 情報処理装置
TWI579762B (zh) * 2014-05-06 2017-04-21 瑞昱半導體股份有限公司 固態硬碟控制電路及相關的固態硬碟裝置與固態硬碟存取系統
CN105094687B (zh) * 2014-05-13 2018-10-26 瑞昱半导体股份有限公司 固态硬盘控制电路及固态硬盘装置与固态硬盘存取系统
KR102255216B1 (ko) 2014-11-20 2021-05-24 삼성전자주식회사 Pci 장치와 이를 포함하는 pci 시스템

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5793422A (en) * 1980-11-29 1982-06-10 Omron Tateisi Electronics Co Dma controller
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
CN85101225A (zh) * 1985-04-01 1987-01-24 坦德姆计算机有限公司 存储器板的自动重新配置
US5347636A (en) * 1985-11-08 1994-09-13 Nec Corporation Data processor which efficiently accesses main memory and input/output devices
JP3454294B2 (ja) * 1994-06-20 2003-10-06 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプル・バス情報処理システム及びブリッジ回路
DE19580707C2 (de) * 1994-06-28 2003-10-30 Intel Corp PCI-ZU-ISA-Interrupt-Protokoll-Konverter und -Auswahlmechanismus
US5671368A (en) * 1996-02-22 1997-09-23 O2 Micro, Inc. PC card controller circuit to detect exchange of PC cards while in suspend mode
US6023565A (en) * 1996-03-29 2000-02-08 Xilinx, Inc. Method for configuring circuits over a data communications link
US5729760A (en) * 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5838932A (en) * 1996-12-23 1998-11-17 Compaq Computer Corporation Transparent PCI to PCI bridge with dynamic memory and I/O map programming
US5958022A (en) * 1997-03-21 1999-09-28 International Business Machines Corporation System and method for I/O access mode selection
US6148355A (en) * 1997-05-13 2000-11-14 Micron Electronics, Inc. Configuration management method for hot adding and hot replacing devices
US5928338A (en) * 1997-06-20 1999-07-27 Xilinx, Inc. Method for providing temporary registers in a local bus device by reusing configuration bits otherwise unused after system reset
US5922062A (en) * 1997-06-26 1999-07-13 Vlsi Technology, Inc. Combined IDE and SCSI disk controller interface for common hardware reference platforms
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
US6081863A (en) * 1998-03-13 2000-06-27 International Business Machines Corporation Method and system for supporting multiple peripheral component interconnect PCI buses by a single PCI host bridge within a computer system
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
US6499074B1 (en) * 1999-08-23 2002-12-24 Advanced Micro Devices, Inc. Redirecting I/O address holes
US6710620B2 (en) 2001-03-13 2004-03-23 Adc Telecommunications Israel, Ltd. Bus interface for I/O device with memory
US6832278B2 (en) * 2001-03-15 2004-12-14 Microsoft Corporation PCI bar target operation region
GB2373598B (en) * 2001-03-20 2004-12-29 Thales Training & Simulation L Peripheral component interconnect bus memory address decoding
US6665743B2 (en) * 2001-04-18 2003-12-16 International Business Machines Corporation Method, system, and program for initializing a storage space
US6536014B1 (en) * 2001-09-26 2003-03-18 International Business Machines Corporation Reusable configuration tool
US8219736B2 (en) * 2002-02-12 2012-07-10 Ati Technologies Ulc Method and apparatus for a data bridge in a computer system
US6883057B2 (en) * 2002-02-15 2005-04-19 International Business Machines Corporation Method and apparatus embedding PCI-to-PCI bridge functions in PCI devices using PCI configuration header type 0
DE10214701B4 (de) * 2002-04-03 2004-08-05 Advanced Micro Devices, Inc., Sunnyvale ATA- und SATA-Gemässes Controllerbauelement, Verfahren zum Betreiben und integrierter Schaltkreischip
US6807600B2 (en) * 2002-07-24 2004-10-19 Intel Corporation Method, system, and program for memory based data transfer
US6928509B2 (en) * 2002-08-01 2005-08-09 International Business Machines Corporation Method and apparatus for enhancing reliability and scalability of serial storage devices

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092206A (zh) * 2016-02-17 2017-08-25 霍尼韦尔国际公司 具有自动国际电工委员会(iec)地址生成的输入/输出(i/o)绑定
CN107092206B (zh) * 2016-02-17 2022-01-04 霍尼韦尔国际公司 具有自动国际电工委员会(iec)地址生成的输入/输出(i/o)绑定
WO2021048709A1 (en) * 2019-09-11 2021-03-18 International Business Machines Corporation Dynamically switching between memory copy and memory mapping to optimize 1/o performance
CN114127699A (zh) * 2019-09-11 2022-03-01 国际商业机器公司 在存储器拷贝和存储器映射之间动态切换以优化i/o性能
GB2602404A (en) * 2019-09-11 2022-06-29 Ibm Dynamically switching between memory copy and memory mapping to optimize 1/O performance
GB2602404B (en) * 2019-09-11 2022-11-09 Ibm Dynamically switching between memory copy and memory mapping to optimize 1/O performance

Also Published As

Publication number Publication date
TW200410073A (en) 2004-06-16
DE60324576D1 (de) 2008-12-18
TWI266199B (en) 2006-11-11
EP1554655A1 (en) 2005-07-20
AU2003254125A1 (en) 2004-02-09
WO2004010317A1 (en) 2004-01-29
US6931457B2 (en) 2005-08-16
US20040019709A1 (en) 2004-01-29
EP1554655B1 (en) 2008-11-05
CN100426277C (zh) 2008-10-15
ATE413650T1 (de) 2008-11-15

Similar Documents

Publication Publication Date Title
CN100426277C (zh) 用于控制多个输入/输出设备的方法和系统
US5875349A (en) Method and arrangement for allowing a computer to communicate with a data storage device
US7849242B2 (en) PCI express-compatible controller and interface that provides PCI express functionality and flash memory operations to host device
US7818712B2 (en) Reconfigurable memory module and method
US6772108B1 (en) Raid controller system and method with ATA emulation host interface
US7370122B2 (en) Distributed configuration storage
JP5128079B2 (ja) ユニバーサルストレージバスアダプタ
CN100339836C (zh) 基于存储器的数据传输的方法、系统和设备
KR20040111472A (ko) Ata/sata 통합 제어기
CN1595381A (zh) 对于桥控制器的高速和灵活控制
US9734106B2 (en) Systems and methods for providing connections to an information handling system
KR20060017584A (ko) 가상 주변 장치 상호 연결 다기능 장치
US20040093441A1 (en) Method and apparatus for high throughput short packet transfers with minimum memory footprint
CN1229736C (zh) 监测计算机系统资源的装置及串行总线和该资源相通方法
TWI245222B (en) Accessing configuration registers by automatically changing an index
US20050188145A1 (en) Method and apparatus for handling data transfers
US6742056B2 (en) Semiconductor device and method for initializing interface card using serial EEPROM
Micheloni et al. Solid state drives (ssds)
KR20060069007A (ko) 시리얼 ata 인터페이스를 이용하여 광학 디스크드라이버의 프로그램 코드를 업데이트하는 장치 및 그 방법
Micheloni et al. SSD architecture and PCI express interface
Eshghi et al. SSD architecture and PCI express interface
JPH02136951A (ja) Dma転送方式
CN1609831A (zh) 专用设备和设备功能的配置
JPH0464150A (ja) Romアクセス方式
JPH0652015A (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: 20081015

Termination date: 20170723

CF01 Termination of patent right due to non-payment of annual fee