将不可预取存储单元映射到存储器映射输入/输出空间中制造技术

技术编号:7449347 阅读:370 留言:0更新日期:2012-06-21 17:51
一种系统,该系统包括主机和设备。所述设备具有至少一个不可预取存储单元。所述主机和所述设备被配置成将所述至少一个不可预取存储单元映射到存储器映射输入/输出空间中,所述存储器映射输入/输出空间是经由大于32地址位寻址的。

【技术实现步骤摘要】
【国外来华专利技术】将不可预取存储单元映射到存储器映射输入/输出空间中
技术介绍
通常,计算机系统包括多个与彼此进行通信以执行系统应用的集成电路。往往,计算机系统包括一个或多个主机控制器以及一个或多个电子子系统组件。为了执行系统功能,(一个或多个)主机控制器和子系统组件经由通信链路进行通信,所述通信链路诸如并行通信链路和串行通信链路。并行通信链路包括实现传统外设部件互连(PCI)的链路,其是PCI extended (PCM)和PCI Local Bus标准的一部分。串行通信链路包括实现PCI Express (PCIe)标准的链路。传统的PCI是用于附连计算机中的硬件设备的总线。所述设备可以采取装配到母板上的集成电路或装配到插槽中的扩充卡的形式。典型的PCI卡包括网卡、声卡、调制解调器、额外端口、电视调谐器卡、以及盘控制器。PCI-X是总线和扩充卡标准,其增强了用于服务器所要求的更高带宽的PCI Local Bus标准。PCI-X通过使最大时钟速度从66MHz加倍到133MHz来修改传统PCI标准。与采用标准PCI的133MB/S相比,在采用PCI-X的处理器和外设之间交换的数据的理论最大量是1.06 GB/s。传统PCI和PCI-X已经在很大程度上被以不同的逻辑设计为特征的PCIe代替。PCIe在用户、服务器以及工业应用中被用作母板级互连以链接母板安装的外设以及用作用于加入板(add-in board)的扩充卡接口。PCIe与早期总线之间的差异是基于点到点串行链路的拓扑结构,而不是共享的并行总线。PCIe是经由差分信号对传送数据的高速串行链路。围绕被称为通道(lane)的双向串行点到点连接建立PCIe链路。在该电平处,每个通道利用两个单向的低电压差分信令对、发送对和接收对,以达到每通道四条数据线的总数。任何两个PCIe设备之间的连接被称为链路,并且其是从一个或多个通道的集合建立的。所有的PCIe设备最低限度地支持单通道(xl)链路。PCIe设备可以可选地支持由 x2、x4、x8、xl2、xl6、x32或更多通道组成的更宽的链路。通常,PCIe设备使诸如寄存器和存储器单元之类的存储单元映射到PCIe存储空间中,所述PCIe存储空间也被称为存储器映射输入/输出(匪10)空间。往往,匪IO空间包括可经由32位地址寻址的部分和可经由64位地址寻址的部分。对小于四千兆字节(GB) 的存储空间进行寻址的可经由32位地址寻址的部分被称为LMMI0。对大于四GB的存储空间进行寻址的可经由64位地址寻址的部分被称为GMMI0。在桥接器和切换器中的映射资源被定义成将LMMIO空间与不可预取语义相关联,并且将GMMIO空间与可预取语义相关联。PCIe设备正要求越来越大量的不可预取MMIO空间。在支持大量的PCIe设备的高度可缩放平台上,这会导致LMMIO空间的短缺,其限制了能够被支持的设备的数量。由于这些和其它原因,存在对于本专利技术的需求。附图说明图1是图示了包括PCIe链路的系统的一个实施例的图。图2是图示了下述系统的一个实施例的图,所述系统包括PCIe链路和耦合至切换器、桥接器、以及多个设备和多功能设备(MFD)的主机。图3是图示了用于将设备存储单元映射到PCIe存储空间中的方法的一个实施例的图。具体实施方式在以下详细描述中,对形成于此的一部分的附图进行参考,并且在附图中通过说明的方式示出了特定实施例,可以以该特定实施例来实现本专利技术。在这方面,参考正被描述的(一个或多个)图的方位来使用方向术语,诸如“顶部”、“底部”、“前面”、“后面”、“前端”、 “尾部”等。因为本专利技术的实施例的部件能够被定位在多个不同的方位上,所以所述方向术语是用于说明的目的而决不是限制的。应当理解的是,在不偏离本专利技术的范围的情况下,可以利用其它实施例并且可以进行结构或逻辑上的改变。因此,以下详细描述不被从限制的意义上来理解,并且本专利技术的范围由随附权利要求来限定。图1是图示了包括PCIe链路22的系统20的一个实施例的图。系统20包括主机 M和输入/输出(I/O)设备26,所述输入/输出(I/O)设备沈包括至少一个不可预取存储单元观。主机M和I/O设备沈被配置成将所述至少一个不可预取存储单元观映射到经由大于32地址位寻址的存储空间中,其在GMMIO空间中并且在历史上仅用于可预取存储单元。在一个实施例中,主机M包括一个或多个微处理器,所述微处理器执行软件、固件、 和/或操作系统指令以提供这些系统功能。在一个实施例中,I/O设备沈包括一个或多个微处理器,所述微处理器执行软件、固件、和/或操作系统指令以提供这些系统功能。主机M经由PCIe链路22电耦合至I/O设备26。在一个实施例中,主机M经由 PCIe链路22直接地电耦合至I/O设备26,即,没有任何中间的PCIe到PCIe切换器(在本文中被称为切换器),并且没有任何PCIe到PCI/PCI-X桥接器(在本文中被称为桥接器)。在一个实施例中,主机M经由PCIe链路22和一个或多个切换器电耦合至I/O设备沈,其中主机M被耦合至切换器的一侧,而I/O设备沈被耦合至该切换器的另一侧。在一个实施例中,主机M经由一个或多个桥接器电耦合至I/O设备沈,其中主机M被耦合至桥接器的一侧,而I/O设备沈被耦合至该桥接器的另一侧。在PCIe协议中,与传统PCI协议相对比,所有的存储器读取请求包括报头中的明确的有效载荷字节计数值。因此,只要从请求者到完成者的整条路径在PCIe之上,PCIe存储器读取就将不预取数据。这个特征以及PCIe切换器的某些其它特征使得将不可预取存储单元映射到GMMIO空间中是安全的,而采用传统PCI协议和传统PCI桥接器这样做将不会是安全的。PCI-X协议在其存储器读取请求的某些而不是全部中包括明确的有效载荷字节计数,并且PCI-X桥接器缺乏这样的某些特征,该特征使得将不可预取存储单元映射到 GMMIO空间中是安全的。采用PCIe主机系统,为了安全地将至少一个不可预取存储单元28映射到GMMIO 中,两个条件是足够的。用于映射的一个条件是主机M和I/O设备沈不经由一个或多个中间的PCI或PCI-X桥接器耦合到彼此。用于映射的另一个条件是在桥接器下方的PCI或 PCI-X设备被禁止向被映射到PCIe I/O设备的GMMIO空间中的不可预取存储单元进行对等请求。所述第一条件减少或消除了与桥接器(S卩,在该桥接器的至少一侧上实行PCI或 PCI-X的桥接器)和在该桥接器下方的桥接器相关联的问题。经由第一条件减少或消除的问题包括桥接器进行存储器写入的字节合并(这可能破坏GMMIO中的不可预取存储单元), 在不具有明确的字节计数的PCI或PCI-X读取中进行预取,由于在PCI模式下放弃延迟的完成而导致引起无记载数据破坏(silent data corruption),以及相对于零长度存储器读取是不定的(ill-defined)桥接器行为。第二条件减少或消除了与对等请求相关联的问题,诸如针对存储器读取的盲预取。如果在系统20中不存在PCI或PCI-X设备,则这两个条件都会被满足。在一个实施例中,系统策略规定禁止I/O设备经由桥接器耦合至PCIe链路22。在一个实施例中,主机M确定在系统20中没有桥接器,因此主机M可以本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:JP科万KH凯辛
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术