[go: up one dir, main page]

CN102077185A - 扩展用于输入输出操作的存储器接口的输入输出模块、处理平台和方法 - Google Patents

扩展用于输入输出操作的存储器接口的输入输出模块、处理平台和方法 Download PDF

Info

Publication number
CN102077185A
CN102077185A CN2009801251288A CN200980125128A CN102077185A CN 102077185 A CN102077185 A CN 102077185A CN 2009801251288 A CN2009801251288 A CN 2009801251288A CN 200980125128 A CN200980125128 A CN 200980125128A CN 102077185 A CN102077185 A CN 102077185A
Authority
CN
China
Prior art keywords
module
serial data
memory
clock signal
bus
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
CN2009801251288A
Other languages
English (en)
Other versions
CN102077185B (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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN102077185A publication Critical patent/CN102077185A/zh
Application granted granted Critical
Publication of CN102077185B publication Critical patent/CN102077185B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

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)

Abstract

这里一般地描述了用于扩展存储器接口的I/O模块、处理平台和方法的实施例。在这些实施例中,I/O模块可被配置为操作于诸如DIMM插口之类的存储模块插口中,以在主机系统中提供增加的I/O功能。一些系统管理总线地址线和一些未使用的系统时钟信号线可被重新配置为串行数据线,以用于在I/O模块和主机系统的PCIe开关之间进行串行数据通信。

Description

扩展用于输入输出操作的存储器接口的输入输出模块、处理平台和方法
优先权
本申请要求2008年9月8日递交的第12/206,501号美国专利申请的优先权,其全部内容通过引用被结合于此。
技术领域
一些实施例涉及处理平台和输入输出(I/O)操作。一些实施例涉及利用诸如双列直插式存储模块(DIMM)之类的存储模块的处理平台。
背景技术
包括桌面和服务器平台在内的许多惯常处理平台需要越来越多的I/O功能。由于对内存、I/O和存储介质的区分(compartmentalization),对平台的I/O功能进行扩展的能力是有限的。例如,内存一般可被划分到存储模块(例如,DIMM)中,I/O可被划分到外设组件互联(PCI)设备中,而存储介质可被划分到硬盘或固态存储设备中。
附图说明
图1是根据一些实施例的具有存储功能的I/O模块的功能框图;
图2是根据一些实施例的具有处理功能的I/O模块的功能框图;
图3是根据一些实施例的处理平台的功能框图;以及
图4示出了根据一些I/O DIMM实施例的I/O模块的物理概况。
具体实施方式
概述
在一些实施例中,输入输出(I/O)模块被配置为操作于存储模块插口(socket)中。该I/O模块可包括串行存在检测(SPD)设备,用以指示I/O模块是I/O设备,并且指示与I/O模块相关联的一个或多个功能。该I/O模块还可包括串行数据控制器,用以经由存储模块插口的预选系统管理(SM)总线地址线和未使用的系统时钟信号线来与主机系统的可配置开关传送串行数据。该I/O模块还可包括时钟生成器,用以向串行数据控制器提供时钟信号以用于传送串行数据。该I/O模块还可包括SM总线I/O设备,用以与主机系统的SM总线信道相接口,以将时钟生成器配置用于串行数据通信。
示例实施例
下面的描述和附图充分说明了具体的实施例,以使本领域技术人员能够实现这些实施例。其他实施例可包含结构的、逻辑的、电子的、处理方面和其他方面的变更。示例仅代表可能的变化。除非明确被要求,否则各个组件和功能是可选的,并且操作的顺序可不同。一些实施例的部分和特征可被包含在其他实施例中,或被其他实施例的那些部分和特征替代。权利要求中阐述的实施例包括这些权利要求的所有可用等同物。
图1是根据一些实施例的具有存储功能的I/O模块的功能框图。I/O模块100提供I/O功能并且可被配置用于在处理平台或主机系统的存储模块插口中操作。I/O模块100可包括串行存在检测(SPD)设备、系统管理(SM)总线I/O设备104、时钟生成器106、串行数据控制器108,和电源调节器(power regulator)110。SPD设备102可指示I/O模块100是I/O设备,而非存储设备。SPD设备102还可指示一个或多个与I/O模块100相关联的功能。串行数据控制器108可被配置用于经由存储模块插口中的预选系统管理总线地址(SA)线130和132以及未使用系统时钟信号线134和136来与主机系统传送串行数据。时钟生成器106可向串行数据控制器108提供时钟信号107,以用于传送串行数据。SM总线I/O设备104可与主机系统的SM总线信道125相接口,以将时钟生成器106配置用于串行数据通信。
在一些实施例中,主机系统可包括多个存储模块插口,并且可被配置用于在存储模块插口中接受I/O模块(诸如,I/O模块100)或存储模块(诸如,存储器DIMM)。在这些实施例中,主机可被配置用于读取存在于存储模块插口中的模块的SPD设备,以确定每个存在的模块是I/O模块还是存储模块。在主机系统中使用一个或多个I/O模块100可向主机系统增加I/O功能。如下更详尽地讨论了这一点。
在一些实施例中,当主机系统被供电或启动并且施加电源(VDDSPD)122时,主机系统经由SM总线信道125读取SPD设备102。在这些实施例中,SPD设备102可经由SM总线地址线124被寻址。时钟生成器106可以利用本地时钟生成器来自己产生时钟信号107,或可从系统时钟信号126(CK0_t)和128(CK0_c)得出时钟信号。电源调节器110可从由主机系统提供的电压信号138(VDD)和140(VSS)向串行数据控制器108和时钟生成器106提供电源。电压信号138和140惯常地被提供给存储器DIMM插口,并且可被电源调节器110使用。在一些实施例中,取决于I/O模块100的元件的需要,电源调节器110可被配置用于提升或降低这些输入电压。
SPD设备102可包括串行非易失性存储元件103,以存储对I/O模块100是I/O设备而非存储设备的指示。串行非易失性存储元件103还可存储关于与I/O模块100相关联的一个或多个功能的指示。串行非易失性存储元件103可经由SM总线信道之一(诸如,主机的SM总线的SM总线信道125(例如,SM总线<0>))被主机系统读取。如下详尽地讨论了这一点。串行非易失存储元件103可以是串行电可擦除可编程只读存储器(EEPROM),尽管实施例的范围并不限于此方面,因为其他类型的非易失性存储元件也可被使用。
如上所述,I/O模块100可提供一个或多个功能。这些功能例如可包括信息存储和/或信息处理功能。图1中所示的I/O模块100是具有信息存储功能的I/O模块的示例,并且包括诸如闪存设备(FLASH)112之类的非易失性存储器。当I/O模块100包括信息存储功能时,SPD设备102可包括对I/O模块100包含信息存储功能的指示。闪存设备112可被配置用于存储通过串行数据控制器108接收到的串行数据。在I/O模块100中使用闪存设备112或其他非易失存储器而非DRAM(在存储器DIMM中被使用),可提供显著更大的存储能力并且可通过串行数据控制器108以串行方式被快速访问。在一些实施例中,串行数据控制器108可包括控制处理器109,该控制处理器109可被配置用于控制I/O模块100的串行数据通信。
图2是根据一些实施例的具有处理功能的I/O模块的功能性框图。在这些实施例中,I/O模块200包括I/O处理器212。当I/O模块200包括处理功能时,SPD设备102包括对I/O模块200包含处理功能的指示。在这些实施例中,I/O处理器212可包括一个或多个处理器,这一个或多个处理器被配置用于处理通过串行数据控制器108接收自主机系统的串行数据,并且通过串行数据控制器108向主机系统提供已处理的串行数据。除了I/O处理器212被包含以替代闪存设备112(图1)以外,I/O模块200与I/O模块100(图1)类似。
在一些实施例中,I/O处理器212可包含加密处理器,该加密处理器使得主机系统能够将加密处理操作卸载(offload)给I/O模块200。在其他实施例中,I/O处理器212可包含图形处理器或图形加速器,该图形处理器或图形加速器使得主机系统能够将图形处理操作卸载给I/O模块200。在其他实施例中,I/O处理器212可包括浮点加速器和/或通用处理器。I/O处理器212可被配置用于实现网页应用,例如,以提高主机系统的性能。在这些实施例中的一些中,I/O模块200还可包括供I/O处理器212使用的集成的本地存储器。
在一些双功能实施例中,I/O模块可包括I/O功能(如由I/O模块100(图1)或I/O模块200(图2)所提供的)和存储功能(如由惯常存储模块(例如,DIMM)所提供的)二者。在这些实施例中,存储功能可包括经由存储器总线与主机系统接口的存储器。可替换地,存储器可以是双端口的,其中,存储器可与存储器总线和串行数据控制器108二者相接口。这些双功能双端口的实施例在I/O处理器(即,控制处理器109)和主机系统的处理器之间提供了非常低延迟且高性能的数据结构共享。
图3是根据一些实施例的处理平台的功能框图。处理平台300可用作用于一个或多个I/O模块(诸如,I/O模块100(图1)和/或I/O模块200(图2))的主机系统。处理平台300还可用作用于一个或多个惯常存储模块的主机系统。处理平台300可包括多个存储模块插口301A、301B、301C和301D,这些存储模块插口被配置用于接受惯常存储模块和I/O模块(例如,I/O模块100(图1)或I/O模块200(图2))二者。使用一个或多个I/O模块可增加处理平台300的I/O功能。如下详尽地讨论了这一点。
在一些实施例中,存储模块插口301A、301B、301C和301D可以是双列直插式存储模块(DIMM)插口,尽管实施例的范围并不限于此方面。当I/O模块(诸如,I/O模块100(图1)或I/O模块200(图2))被配置用于操作于DIMM插口中时,该I/O模块可被称为I/O DIMM。被配置用于操作于DIMM插口中的惯常存储模块可被称为存储器DIMM或DRAM DIMM。在图3所示的示例中,处理平台300包括在存储模块插口301A中的I/O模块302(第一I/O DIMM)、在存储模块插口301B中的I/O模块304(第二I/O DIMM)、在存储模块插口301C中的存储模块306(第一存储器DIMM),以及在存储模块插口301D中的存储模块308(第二存储器DIMM)。
处理平台300包括处理器310、可配置开关312、I/O集线器314、I/O设备316,以及电源318,等等。处理平台300还可包括与惯常处理平台相关联的其他功能性元件。
处理平台300可包括将处理器310与插口301A到301D相耦合的数据线319A到319D。处理器310可使用数据线319A到319D中的一个与存在于存储模块插口中的存储模块中的一个传送数据。数据线319并不用于存在于存储模块插口中的I/O模块。例如,数据线319A不用于I/O模块302并且数据线319B不用于I/O模块304。在另一方面,数据线319C被用于与存储模块306传送数据,并且数据线319D被用于与存储模块308传送数据。
处理平台300还可包括系统时钟信号线331A到331D,以提供系统时钟信号CK0_t,c。系统时钟信号线331C和331D可分别被存储模块306和308使用,以用于经由相关联的数据线对与处理器310的数据计时。系统时钟信号线331A和331B可被I/O模块302和304的时钟生成器106用于生成时钟信号107(图1和图2)。系统时钟信号线331A到331D的每一个可包括差分对以提供差分时钟信号。系统时钟信号126(CK0_t)和128(CK0_c)(图1和图2)可在系统时钟信号线331A上或系统时钟信号线331B上被提供给I/O模块。
处理平台300还可包括系统地址线321A到321D,以寻址存在于插口301A到301D中的存储模块。系统地址线321并不用于存在于存储模块插口中的I/O模块。例如,系统地址线321A不用于I/O模块302,并且系统地址线321B不用于I/O模块304。在另一方面,系统地址线321C被用于寻址存储模块306,并且系统地址线321D被用于寻址存储模块308。尽管系统地址线321A到321D中的每一者以单条线示出,但是,每一者可包括多条地址和控制信号线。
处理平台300还可包括时钟信号线333A到333D(CK1_t,c),这些时钟信号线如图所示地将可配置开关312耦合到插口301A到301D。时钟信号线333并不用于存在于插口中的存储模块,但是,可被用于传送存在于插口301A到301D中的I/O模块的串行数据。在图3所示出的示例中,时钟信号线333A被用于与I/O模块302传送串行数据,并且时钟信号线333B被用于与I/O模块304传送串行数据。时钟信号线333C可以保持不由存储模块306使用,并且时钟信号线333D可以保持不由存储模块308使用。
在一些实施例中,时钟信号线333A可作为TX+和TX-串行数据线操作,以将来自可配置开关312的串行数据传送到I/O模块302。在这些实施例中,时钟信号线333A可包括差分对以传送数字差分数据。在这些实施例中,时钟信号线333A可对应于时钟信号线134和136(图1和图2)。时钟信号线333B也可作为TX+和TX-串行数据线操作,以将来自可配置开关312的串行数据传送给I/O模块304。在这些实施例中,时钟信号线333B还可包含差分对以传送数字差分数据。在这些实施例中,时钟信号线333B还可对应于时钟信号线134和136(图1和图2)。
处理平台300还可包括SM总线地址(SA)线335A到335D,这些总线地址线如图所示地将可配置开关312耦合到插口301A到301D。SA线335A到335D被可配置开关312用于寻址存在于插口301A到301D中的模块的SPD设备102。SA线335中的一些可被用于与存在于插口301A到301D中的I/O模块传送串行数据。在图3所示的示例中,SA线335A(SA<1><0>和SA<0><0>)被用于与I/O模块302传送串行数据,并且SA线335B(SA<1><1>和SA<0><1>)被用于与I/O模块304传送串行数据。SA线335A(SA<1><0>和SA<0><0>)可作为RX+和RX-串行数据线操作,以将来自I/O模块302的串行数据传送给可配置开关312。在这些实施例中,SA线335A(SA<1><0>和SA<0><0>)可作为差分对操作,以传送数字差分数据。在这些实施例中,SA线335A(SA<1><0>和SA<0><0>)可对应于SA线130和132(图1和图2)。SA线335B也可作为RX+和RX-串行数据线操作,以将来自I/O模块304的串行数据传送给可配置开关312。在这些实施例中,SA线335B(SA<1><1>和SA<0><1>)也可作为差分对操作,以传送数字差分数据。在这些实施例中,SA线335B(SA<1><1>和SA<0><1>)可对应于SA线130和132(图1和图2)。
处理平台300还可包括SM总线317,以将I/O设备316耦合到存在于存储模块插口301A到301D中的模块。在这些实施例中,SM总线317向存在于存储模块插口301A到301D中的处理平台300的模块提供了低速串行管理接口。基于模块的SPD设备102的指示,I/O设备316利用SM总线317来确定安装在存储模块插口301A到301D中的模块的类型。例如,存储器DIMM的SPD设备可指示其为存储模块,而I/O模块的SPD设备可指示其为I/O模块。I/O模块302、304的SM总线I/O设备104可被用于通过相应地编程时钟生成器106来将I/O模块302、304的元件配置用于串行数据通信。
在另一方面,存储器DIMM 306和308并不需要SM总线I/O设备,因为它们并不像I/O模块那样传送串行数据。存储器DIMM 306和308可包括时钟缓冲器,这些时钟缓冲器接收用于分配给存储器DIMM 306和308上的其他设备的时钟信号331A到331D。在一些实施例中,可在存储模块插口301A到301D中使用的存储器DIMM 306和308可包括随机访问存储器(RAM),例如,双倍数据速率3(DDR3)同步动态随机访问存储器(SDRAM)。
在一些实施例中,I/O设备316读取存在于存储模块插口301A到301D中的模块的SPD设备,以确定每个存在的模块是I/O模块还是存储模块。I/O设备316可包括一个或多个SM总线控制器(即,被集成到I/O设备316中),以读取SPD设备102,从而确定每个模块是存储模块还是I/O模块。对于I/O模块,处理平台300将可配置开关312配置为使用SA线335A到335D的一些和时钟信号线333A到333D中的一些作为用于与每个检测到的I/O模块进行串行数据通信的串行数据线。
在一些实施例中,被选择用于串行通信的SA线335A到335D可被可配置开关312配置为通过利用数字差分信号(例如,RX+和RX-)来传送串行数据。被选择用于串行通信的时钟信号线333A到333D可由已被配置的可配置开关312配置为通过利用数字差分信号(例如,TX+和TX-)来传送串行数据。在一些实施例中,尽管实施例的范围并不限于此方面,但是,在串行数据控制器108和可配置开关312间传送的信号可根据预定的通信标准被传送,例如,外围组件互联(PCI)快速(PCIe)标准。在这些实施例中,用于传送数字差分信号(例如,RX+和RX-)的SA线以及用于通过利用数字差分信号(例如,TX+和TX-)来传送串行数据的时钟信号线可被称为单道(x1)PCIe总线。
在图3所示的实施例中,数据线319A到319D和地址线321A到321D被存储模块306和308使用,但是不被I/O模块302和304使用。在一些可替换实施例中,诸如I/O模块302和/或304之类的I/O模块可集成I/O功能和存储功能二者,并且可被称为组合DIMM。在这些实施例中,数据线319A到319D和地址线321A到321D可被这种组合DIMM使用。
SA线335A到335D通常被用来定义模块插口301A到301D的每一个的SM总线地址。在存储器DIMM上,SA线335A到335D可被直接连线到存储器DIMM上的SPD设备的地址管脚。根据一些实施例,SA线中的两条(例如,SA<1><0>和SA<0><0>用于I/O模块302,并且SA<1><1>和SA<0><1>用于I/O模块304)可被用于传送串行数据,并且第三条SA线(例如,SA<2>)可被连线到I/O DIMM的SPD设备上的地址管脚。在I/O DIMM的SPD设备上的剩余地址管脚可被连线到’0’(例如,VSS)。在此示例中,当SA<2>是零时,I/O模块302的SPD设备102可被寻址到,并且当SA<2>是一时,I/O模块304的SPD设备102可被寻址到。
在一些实施例中,第三条SA线可在处理平台300上被硬连线来提供’0’或’1’,从而使得两个插口共享SM总线317并且使得模块的SPD设备被读取以确定模块是I/O模块还是存储模块。对于存储模块(例如,存储模块306或308),可配置开关312在系统恢复期间可被禁用,这可驱动RX+/-信号到’0’。在这种情形下,安装在模块插口中的存储器模块将看到对应的SA地址输入为’0’。在系统恢复之后,处理平台300可使用于存储模块的可配置开关输入保持为禁用,并且可使能针对I/O模块的输入。可配置开关312可使总线保持禁用,并且可在使能总线之前编程时钟生成器106。
在一些实施例中,串行数据控制器108可以是PCIe控制器,并且时钟生成器106可以是PCIe时钟生成器。在这些实施例中,可配置开关312可以是PCIe可配置开关,其被配置用于根据PCIe通信标准经由SA线(例如,SA线335A或335B)的一些和系统时钟信号线(例如,时钟信号线333A或333B)的一些来提供与串行数据控制器108的高带宽串行通信,然而实施例的方面并不限于此方面,因为其他高带宽串行通信技术也可被使用,例如,通用串行总线(USB)、无线带宽,以及串行连接SCSI(SATA)通信技术。
在一些PCIe实施例中,I/O模块302和304的每一个可利用单道(x1)PCIe接口。I/O集线器314提供了四道(x4)、八道(x8)或十六道(x16)PCIe接口。可配置开关312将用于与I/O模块302和304通信的单道PCIe总线与多道PCIe总线相接口以用于与I/O集线器314通信。可基于从SPD设备102读取的信息来配置可配置开关312。例如,当SPD设备指示安装在存储模块插口301A到301D之一中的相关联模块是I/O模块时,可配置开关312可使能PCIe总线。当SPD设备指示安装在存储模块插口301A到301D之一中的相关联模块是存储模块(例如,存储器DIMM)时,则可配置开关312可禁用对应的PCIe总线。在一些实施例中,I/O集线器314可被称为北桥,而I/O设备316可被称为南桥,尽管实施例的范围并不限于此方面。
在一些实施例中,由时钟生成器106提供的时钟信号107(图1和图2)可以是差分时钟信号,并且可包括PCIe参考时钟。在这些实施例中,SM总线I/O设备104基于处理平台300针对I/O模块302和304使用的特定时钟来对时钟生成器106进行编程。SM总线I/O设备104可使得处理平台300通过经由SM总线信道125(图1和图2)向SM总线I/O设备104进行写入来在时钟生成器106上设置一个或多个配置管脚。
在PCIe实施例中,PCIe通信可使用100MHz的参考时钟信号。在这些实施例中,时钟生成器106可利用本地100MHz时钟生成设备来自己生成参考时钟信号(即,时钟信号107(图1和图2)),或者可从系统时钟信号331A到331D(CK0_t,c)中的一些来得到参考时钟信号。在支持扩频时钟的平台中,系统时钟可从公共时钟源(对于基于DDR3的系统,其可以是133.33MHz时钟信号)来获得。在这些实施例中,用于存储器DIMM的输入时钟额可以是133.33MHz的倍数,并且可由主机系统基于存储器DIMM的类型被设置,该类型是通过读取模块的SPD设备而在存储器总线上发现的。给定存储总线上的存储器DIMM可接收被选择用于支持存储器总线上的最慢存储器DIMM的同一时钟。例如,400MHz、533MHz、667MHz,或800MHz的时钟信号可被选择,并且可以是133MHz时钟信号的倍数。由时钟信号生成器106得出参考时钟信号使得在I/O模块(例如,I/O模块302或304)上的串行数据控制器108能够参与到主机系统的扩频定时(clocking)中。在一些实施例中,时钟信号生成器106可包括可编程时钟生成器以参与到系统扩频定时中。在这些实施例中,诸如I/O模块302或I/O模块304之类的I/O模块可被配置用于使处理平台300利用SM总线信道317来对时钟生成器106进行编程,该总线信道317是利用SM总线I/O设备104实现的。在这些实施例中,处理平台300可通过经由SM总线信道317向SM总线I/O设备104进行写入来在时钟生成器106上设置配置管脚。
在一些可替换的实施例中,时钟生成器106可利用I/O模块上的内部电路来自己生成参考时钟信号107(图1和图2)。对于PCIe实施例,时钟生成器106可包括本地100MHz时钟信号生成电路。
在一些实施例中,控制软件可被下载到I/O模块302和/或304中以用于执行串行数据通信。在这些实施例中,控制软件可在I/O模块302和/或304的配置期间被下载。
图4示出了根据一些I/O DIMM实施例的I/O模块的物理概况。在图4中示出的物理概况可适于用作I/O模块100(图1)或I/O模块200(图2),并且可允许I/O模块100(图1)或I/O模块200(图2)操作于惯常的DIMM插口中,例如,存储模块插口301A到301D。图4中示出的尺寸是毫米级的。
虽然I/O模块100(图1)和I/O模块200(图2)被示出为具有若干个分离的功能性元件,但是,功能性元件中的一个或多个可被组合,并且可通过软件配置的元件(例如包括数字信号处理器(DSP)的处理元件)和/或其它硬件元件的组合来实现。例如,一些元件可包括一个或多个微处理器、DSP、专用集成电路(ASIC),以及各种硬件和逻辑电路的组合,以用于至少执行此处说明的功能。在一些实施例中,功能性元件可能涉及操作于一个或多个处理元件上的一个或多个处理。
除非具体声明,否则,诸如处理、运算、计算、确定、显示等的术语可以指一个或多个处理或运算系统或类似设备的动作和/或处理,这些系统或设备可以操纵被表示为处理系统的寄存器和存储器中的物理(例如,电子)量的数据并将其转换为类似地被表示为处理系统的寄存器和存储器、或其他这样的信息存储器,传输或显示设备中的物理量的其他数据。另外,如此处所使用的,运算设备包括一个或多个与计算机可读存储器相耦合的处理元件,该计算机可读存储器可以是易失性存储器或非易失性存储器或其组合。
实施例可在硬件、固件和软件之一中实现,或者可在硬件、固件和软件的组合中实现。实施例还可被实现为存储在计算机可读介质上的指令,这些指令可被至少一个处理器读取并执行以执行此处说明的操作。计算机可读介质可包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制。例如,计算机可读介质可包括只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光学存储介质、闪存设备,以及其他。
摘要被提供以遵从37 C.F.R.第1.72(b)节,该节要求有使得读者能够明确技术公开的本质和主旨的摘要。摘要是在认为其不被用于限制或解释权利要求的范围或含义的情况下提交的。下述权利要求由此被结合到详尽的说明中,每个权利要求自身作为单独的实施例。

Claims (20)

1.一种被配置为操作于存储模块插口中的输入输出(I/O)模块,所述I/O模块包括:
串行存在检测(SPD)设备,用以指示所述I/O模块是I/O设备并且指示与所述I/O模块相关联的一个或多个功能;
串行数据控制器,用以经由所述存储模块插口的预选系统管理(SM)总线地址线和未使用的系统时钟信号线来与主机系统的可配置开关传送串行数据;
时钟生成器,用以向所述串行数据控制器提供时钟信号以用于传送所述串行数据;以及
SM总线I/O设备,用以与所述主机系统的SM总线信道相接口以将所述时钟生成器配置用于串行数据通信。
2.如权利要求1所述的I/O模块,其中,所述I/O模块被配置为操作于双列直插式存储模块(DIMM)插口中。
3.如权利要求1所述的I/O模块,其中,当所述主机系统被加电时,所述主机系统经由所述SM总线信道读取所述SPD设备,并且,
其中,当所述SPD设备指示所述存储模块插口中的所述I/O模块被识别为I/O设备而非存储设备时,作为对读取所述SPD设备的响应,所述主机系统将所述可配置开关配置为将所述预选SM总线地址线和所述未使用的系统时钟信号线作为串行数据线使用。
4.如权利要求1所述的I/O模块,其中,所述SPD设备包括串行非易失性存储元件,用以存储对所述I/O模块是I/O设备而非存储设备的指示以及对与所述I/O模块相关联的一个或多个功能的指示,并且
其中,所述串行非易失性存储器将由所述主机系统经由所述主机SM总线的SM总线信道之一读取。
5.如权利要求1所述的I/O模块,其中,所述预选SM总线地址线和所述未使用的系统时钟信号线由所述主机系统的所述可配置开关根据外围组件互联快速(PCIe)通信技术而被配置为用作串行数据线。
6.如权利要求5所述的I/O模块,其中,所述串行数据控制器作为PCIe控制器操作,
其中,所述时钟生成器是PCIe时钟生成器,以及
其中,所述可配置开关是PCIe开关,该PCIe开关被配置为根据所述PCIe通信技术经由所述预选SM总线地址线和所述未使用的系统时钟信号线来提供与所述串行数据控制器的高带宽串行通信。
7.如权利要求1所述的I/O模块,其中,当所述I/O模块被识别为I/O设备时,所述主机系统被配置为经由所述SM总线信道对所述时钟生成器进行编程。
8.如权利要求7所述的I/O模块,其中,所述时钟生成器:
利用所述I/O模块上的内部电路自行生成所述时钟信号,或者
从系统时钟信号获得所述时钟信号,所述系统时钟信号包括在所述存储模块插口中提供的系统时钟信号差分对。
9.如权利要求1所述的I/O模块,其中,由所述I/O模块提供的所述一个或多个功能包括信息存储功能或信息处理功能中的至少一者,
其中,当所述SPD设备包括对所述I/O模块包含信息存储功能的指示时,所述I/O模块还包括一个或多个闪存设备,所述闪存设备被配置为存储通过所述串行数据控制器接收的串行数据,
其中,当所述SPD设备包括对所述I/O模块包含信息处理功能的指示时,所述I/O模块还包括一个或多个处理器,所述处理器被配置为处理接收自所述串行数据控制器的串行数据。
10.如权利要求9所述的I/O模块,其中,所述一个或多个处理器包括加密处理器,并且
其中,所述主机系统的处理器将加密处理操作卸载给所述I/O模块的所述加密处理器。
11.如权利要求9所述的I/O模块,其中,所述一个或多个处理器包括图形处理器,并且
其中,所述主机系统的处理器将图形处理操作卸载给所述I/O模块的所述图形处理器。
12.如权利要求7所述的I/O模块,还包括电源调节器,所述电源调节器从由所述主机系统提供的电压信号向所述串行数据控制器和所述时钟生成器提供电源。
13.一种处理平台,包括:
多个存储模块插口,用以接受存储模块或I/O模块;
一个或多个系统管理(SM)总线控制器,用以读取存在于所述存储模块插口中的每个模块的串行存在检测(SPD),以确定每个模块是存储模块还是输入输出(I/O)模块;以及
可配置开关,其中,针对由所述SM总线控制器所检测到的每个I/O模块,所述可配置开关被配置为将一些SM总线地址线和一些未使用的系统时钟信号线作为串行数据线以用于与每个已检测到的I/O模块的串行数据通信。
14.如权利要求13所述的处理平台,其中,所述存储模块插口包括双列直插式存储模块(DIMM)插口,
其中,所述存储模块包括存储器DIMM,以及
其中,所述I/O模块包括I/O DIMM。
15.如权利要求13所述的处理平台,其中,每个I/O模块包括:
串行存在检测(SPD)设备,用以指示所述I/O模块是I/O设备而非存储设备,并且指示与所述I/O模块相关联的一个或多个功能;
串行数据控制器,用以与所述可配置开关经由所述存储模块插口所提供的所述SM总线地址线中的一些和所述未使用的系统时钟信号线中的一些来与所述可配置开关传送串行数据;
时钟生成器,用以向所述串行数据控制器提供时钟信号以用于传送所述串行数据;以及
SM总线I/O设备,用以与所述处理平台的SM总线信道相接口以将所述时钟生成器配置用于串行数据通信。
16.如权利要求15所述的处理平台,其中,由所述I/O模块提供的一个或多个功能包括信息存储功能或信息处理功能中的至少一者。
17.如权利要求16所述的处理平台,其中,当所述已检测到的I/O模块之一的SPD设备包括对该I/O模块包含信息存储功能的指示时,该已检测到的I/O模块还包括一个或多个闪存设备,所述闪存设备被配置为存储通过所述串行数据控制器接收的串行数据,以及
其中,当所述已检测到的I/O模块之一的SPD设备包括对该已检测到的I/O模块包含处理功能的指示时,该已检测到的I/O模块还包括一个或多个处理器,所述处理器被配置为处理经由所述串行数据控制器接收的串行数据。
18.一种方法,包括:
提供具有用于接受存储模块或I/O模块的多个存储模块插口的主机系统;
读取存在于存储模块插口中的每个模块的串行存在检测(SPD),以确定每个已检测到的模块是存储模块还是I/O模块;
将已检测到的I/O模块上的时钟生成器配置为生成用于串行通信的参考时钟;以及
将可配置开关配置为将一些系统管理(SM)总线地址线和一些未使用的系统时钟信号线作为串行信号线,以用于与所述存储模块插口之一中的每个已检测到的I/O模块进行串行数据通信。
19.如权利要求18所述的方法,其中,所述可配置开关根据外围组件互联(PCI)通信技术将所述已检测到的I/O模块配置为将SM总线地址线的一些和一些未使用的系统时钟信号线作为串行数据线以用于串行数据通信。
20.如权利要求18所述的方法,还包括将控制软件下载到所述已检测到的I/O模块中的至少一个的控制器中,以用于与所述可配置开关传送串行数据。
CN200980125128.8A 2008-09-08 2009-09-08 扩展用于输入输出操作的存储器接口的输入输出模块、处理平台和方法 Expired - Fee Related CN102077185B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/206,501 2008-09-08
US12/206,501 US7886103B2 (en) 2008-09-08 2008-09-08 Input-output module, processing platform and method for extending a memory interface for input-output operations
PCT/US2009/056251 WO2010028381A1 (en) 2008-09-08 2009-09-08 Input-output module, processing platform and method for extending a memory interface for input-output operations

Publications (2)

Publication Number Publication Date
CN102077185A true CN102077185A (zh) 2011-05-25
CN102077185B CN102077185B (zh) 2014-07-16

Family

ID=41478845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980125128.8A Expired - Fee Related CN102077185B (zh) 2008-09-08 2009-09-08 扩展用于输入输出操作的存储器接口的输入输出模块、处理平台和方法

Country Status (5)

Country Link
US (2) US7886103B2 (zh)
EP (2) EP2324431B1 (zh)
CN (1) CN102077185B (zh)
AT (1) ATE548733T1 (zh)
WO (1) WO2010028381A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815164A (zh) * 2015-11-30 2017-06-09 广达电脑股份有限公司 自动时钟配置系统及方法
CN107341124A (zh) * 2016-05-02 2017-11-10 三星电子株式会社 用于支持SRIS的PCIe装置

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886103B2 (en) 2008-09-08 2011-02-08 Cisco Technology, Inc. Input-output module, processing platform and method for extending a memory interface for input-output operations
US8190944B2 (en) 2009-12-11 2012-05-29 Ati Technologies Ulc Device configured to switch a clock speed for multiple links running at different clock speeds and method for switching the clock speed
US8972667B2 (en) 2011-06-28 2015-03-03 International Business Machines Corporation Exchanging data between memory controllers
CN102314361A (zh) * 2011-07-07 2012-01-11 曙光信息产业股份有限公司 一种在龙芯刀片服务器上实现Infiniband网络的方法
US9357649B2 (en) * 2012-05-08 2016-05-31 Inernational Business Machines Corporation 276-pin buffered memory card with enhanced memory system interconnect
US9665503B2 (en) 2012-05-22 2017-05-30 Xockets, Inc. Efficient packet handling, redirection, and inspection using offload processors
US20130318268A1 (en) 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
US20170109299A1 (en) * 2014-03-31 2017-04-20 Stephen Belair Network computing elements, memory interfaces and network connections to such elements, and related systems
US9378161B1 (en) 2013-01-17 2016-06-28 Xockets, Inc. Full bandwidth packet handling with server systems including offload processors
US20140201416A1 (en) 2013-01-17 2014-07-17 Xockets IP, LLC Offload processor modules for connection to system memory, and corresponding methods and systems
US9519315B2 (en) * 2013-03-12 2016-12-13 International Business Machines Corporation 276-pin buffered memory card with enhanced memory system interconnect
US9804989B2 (en) * 2014-07-25 2017-10-31 Micron Technology, Inc. Systems, devices, and methods for selective communication through an electrical connector
CN104778109B (zh) * 2015-04-28 2017-05-03 浪潮电子信息产业股份有限公司 一种pcie/pcix外插卡的程序下载系统及方法
CN105224496B (zh) * 2015-09-08 2018-05-01 浪潮(北京)电子信息产业有限公司 一种动态可重构系统
US10824348B2 (en) * 2016-08-02 2020-11-03 Samsung Electronics Co., Ltd. Method of executing conditional data scrubbing inside a smart storage device
US10193248B2 (en) 2016-08-31 2019-01-29 Crystal Group, Inc. System and method for retaining memory modules
US10734756B2 (en) 2018-08-10 2020-08-04 Crystal Group Inc. DIMM/expansion card retention method for highly kinematic environments
US20200342917A1 (en) 2019-04-24 2020-10-29 Samsung Electronics Co., Ltd. Memory module and memory system having the same
KR102410958B1 (ko) * 2021-11-15 2022-06-22 삼성전자주식회사 메모리 모듈 및 이를 포함하는 메모리 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103234A1 (en) * 2002-11-21 2004-05-27 Aviad Zer Combination non-volatile memory and input-output card with direct memory access
US20060062047A1 (en) * 2004-03-05 2006-03-23 Bhakta Jayesh R Memory module decoder
CN200979682Y (zh) * 2006-07-17 2007-11-21 庄品洋 多芯片系统功能单元接口电路

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092146A (en) * 1997-07-31 2000-07-18 Ibm Dynamically configurable memory adapter using electronic presence detects
US20040236877A1 (en) * 1997-12-17 2004-11-25 Lee A. Burton Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM)
US7197575B2 (en) * 1997-12-17 2007-03-27 Src Computers, Inc. Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers
US7373440B2 (en) * 1997-12-17 2008-05-13 Src Computers, Inc. Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format
US6108730A (en) * 1998-02-27 2000-08-22 International Business Machines Corporation Memory card adapter insertable into a motherboard memory card socket comprising a memory card receiving socket having the same configuration as the motherboard memory card socket
KR100578112B1 (ko) * 1998-10-16 2006-07-25 삼성전자주식회사 메모리 클럭 신호를 제어하는 컴퓨터 시스템 및그 방법
US5995405A (en) * 1998-10-27 1999-11-30 Micron Technology, Inc. Memory module with flexible serial presence detect configuration
US6625692B1 (en) * 1999-04-14 2003-09-23 Micron Technology, Inc. Integrated semiconductor memory chip with presence detect data capability
US20020016897A1 (en) * 2000-05-31 2002-02-07 Nerl John A. Use of a microcontroller to process memory configuration information and configure a memory controller
US6675272B2 (en) * 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US7024547B2 (en) * 2001-12-10 2006-04-04 Intel Corporation Method and system for initializing a hardware device
US7353372B2 (en) * 2002-12-24 2008-04-01 Intel Corporation Detection of support components for add-in card
US20050138267A1 (en) * 2003-12-23 2005-06-23 Bains Kuljit S. Integral memory buffer and serial presence detect capability for fully-buffered memory modules
US20060206673A1 (en) * 2005-03-08 2006-09-14 Inventec Corporation Method for controlling access of dynamic random access memory module
US20060236027A1 (en) * 2005-03-30 2006-10-19 Sandeep Jain Variable memory array self-refresh rates in suspend and standby modes
US20070220228A1 (en) * 2006-03-15 2007-09-20 Inventec Corporation Computer memory configuration inspection method and system
US7788421B1 (en) * 2008-01-24 2010-08-31 Google Inc. Detectable null memory for airflow baffling
US7886103B2 (en) 2008-09-08 2011-02-08 Cisco Technology, Inc. Input-output module, processing platform and method for extending a memory interface for input-output operations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103234A1 (en) * 2002-11-21 2004-05-27 Aviad Zer Combination non-volatile memory and input-output card with direct memory access
US20060062047A1 (en) * 2004-03-05 2006-03-23 Bhakta Jayesh R Memory module decoder
CN200979682Y (zh) * 2006-07-17 2007-11-21 庄品洋 多芯片系统功能单元接口电路

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815164A (zh) * 2015-11-30 2017-06-09 广达电脑股份有限公司 自动时钟配置系统及方法
CN107341124A (zh) * 2016-05-02 2017-11-10 三星电子株式会社 用于支持SRIS的PCIe装置
CN107341124B (zh) * 2016-05-02 2022-02-08 三星电子株式会社 用于支持SRIS的PCIe装置

Also Published As

Publication number Publication date
EP2324431A1 (en) 2011-05-25
WO2010028381A1 (en) 2010-03-11
EP2472409A1 (en) 2012-07-04
US7886103B2 (en) 2011-02-08
US8117369B2 (en) 2012-02-14
EP2472409B1 (en) 2013-11-13
US20100064099A1 (en) 2010-03-11
EP2324431B1 (en) 2012-03-07
ATE548733T1 (de) 2012-03-15
CN102077185B (zh) 2014-07-16
US20110099317A1 (en) 2011-04-28

Similar Documents

Publication Publication Date Title
CN102077185A (zh) 扩展用于输入输出操作的存储器接口的输入输出模块、处理平台和方法
US12347818B2 (en) Logic die in a multi-chip package having a configurable physical interface to on-package memory
TWI595488B (zh) 具有雙模式插腳輸出之快閃記憶體控制器
US20170337966A1 (en) Memory device shared by two or more processors and system including the same
TW201432696A (zh) 具有多模式插腳輸出之快閃記憶體控制器
US10032494B2 (en) Data processing systems and a plurality of memory modules
CN108780421A (zh) 用于在存储器装置镜像命令/地址或解译命令/地址逻辑的技术
CN107408019A (zh) 用于提高对非易失性存储器中的缺陷的抗干扰性的方法和装置
CN107870742A (zh) 向存储装置提供旁路的电子装置、存储装置和计算系统
KR20160097657A (ko) 데이터 저장 장치 그리고 그것의 동작 방법
CN101872308A (zh) 内存条控制系统及其控制方法
US9037842B2 (en) Booting in systems having devices coupled in a chained configuration
US20150074343A1 (en) Logic device
US20210103328A1 (en) Semiconductor memory device, electronic device and method for setting the same
CN104765700B (zh) 半导体器件和包括半导体器件的半导体系统
US9728234B1 (en) Operating method of semiconductor memory device
CN107122323A (zh) 在多模总线的多引脚传输数据的方法及装置
CN119557246B (zh) 内存扩展模组的数据传输方法、装置、设备及介质
US20230017161A1 (en) Method and apparatus to perform training on a data bus between a dynamic random access memory (dram) and a data buffer on a buffered dual in-line memory module
TW202105186A (zh) 記憶體介面電路、記憶體儲存裝置及訊號產生方法
CN112309445B (zh) 存储器接口电路、存储器存储装置及信号产生方法
TW201837727A (zh) 儲存裝置
CN212781996U (zh) 一种基于fpga的加速卡
US10373658B2 (en) Semiconductor modules

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

Granted publication date: 20140716