光网络中的节点配置的制作方法

文档序号:21281004发布日期:2020-06-26 23:37阅读:413来源:国知局
光网络中的节点配置的制作方法



背景技术:

由于对数据存储和数据处理的需求增加,已经提出了使用包括例如存储器节点和/或处理节点的网络来在网络中的节点上分布数据的处理和存储的新方法。在一些情况下,已经提出了包括一些或所有节点之间的光学连接以改善节点之间的带宽的网络。在这种情况下,节点之间的光信号路由涉及在将光信号朝向光信号的预期最终目的地发送回下一节点之前将光信号转换为电信号以在中间节点处进行处理。

执行光信号的转换以用于在中间节点处进行处理,以便保持光信号的完整性并且适当地将光信号路由通过系统。然而,在中间节点处的该处理添加了在通过网络传输光信号时的延迟。随着网络中的节点和连接的数量增加,延迟变得复杂,由此限制此类系统中的节点和连接的实际数量。

附图说明

通过下文所述的具体实施方式并且结合附图,本公开的实施方案的特征和优势将变得更加显而易见。提供附图和相关联描述是为了说明本公开的实施方案,而不是限制所要求保护的范围。

图1示出了根据实施方案的包括节点的数据处理系统中的光信号路径的示例。

图2是根据实施方案的图1的示例性网络中的节点的框图。

图3描绘了根据实施方案的节点的光模块。

图4描绘了根据实施方案的节点的光模块的开关阵列。

图5是根据实施方案的在节点处的初始光信号处理过程的流程图。

图6是根据实施方案的光信号处理过程的流程图。

图7a是根据实施方案的光信号处理子过程的流程图。

图7b是根据实施方案的光信号处理子过程的流程图。

图8是根据实施方案的光信号路由过程的流程图。

图9是根据实施方案的数据处理系统的光信号处理过程的流程图。

具体实施方式

在以下具体实施方式中阐述了许多具体细节,以便提供对本公开的彻底理解。然而,对于本领域普通技术人员显而易见的是,可在不具有这些具体细节中的一些细节的情况下实践所公开的各种实施方案。在其他情况下,并未详细示出众所周知的结构和技术以避免不必要地模糊各种实施方案。

示例性系统实施方案

图1示出了根据实施方案的网络10中的光信号路径的示例。如图1所示,网络10包括共同形成数据处理系统的节点,诸如节点1001至10012。如下面更详细地讨论的,网络10包括光学地连接网络10中的节点的光纤或互连111。在一些实施方式中,网络10可以包括图1中未示出的其他节点之间的附加连接。例如,图1所示的节点的环面或环中的一个或多个节点可以连接到图1中未示出的至少一个其他节点,以便提供具有与网络10中的两个以上节点连接的节点的互连网状网络,诸如3维环面互连,例如其中每个节点连接到三个其他节点。

尽管网络中节点之间更多数量的互连或维度可以通过减少处理数据和将数据从一个节点发送到下一节点所需的中间节点或跃点的数量来提供节点之间的更快连接,但是网络中所需的光纤或互连的数量随着节点数量的增加而增加。在网络中有许多节点的情况下,诸如在可能包括数百或数千个节点的即将到来的网络中,就物理空间以及网络中用于引导光信号的每个节点处所需的处理和存储器资源而言,光纤或互连的数量可能变得难以管理。

在一个方面,本公开提供了节点的示例,这些节点可以将节点接收到的光信号路由到节点之外而无需将接收到的光信号转换为电信号以处理来自光信号的数据。如下面更详细地讨论的,通过使一些或所有中间节点在延迟方面有效地透明,此类路由可以更好地利用每个节点的较少数量的光纤或互连。另外,有效地消除了在此类透明中间节点处用于处理路由的光信号所使用的功耗和资源(例如,存储器和处理资源)。

在图1的数据处理系统中,节点中的每一个可以具有相同的构造或可以不同。例如,节点1001和10012可以是包括一个或多个处理器的处理或计算节点,用于处理本地存储在该节点或数据处理系统中的各种其他节点处的数据。继续该示例,其他节点可以是包括相对较大的永久或易失性存储器的存储器节点,用于存储可以与数据处理系统中的其他节点共享的数据。另外,数据处理系统中的节点可以具有多芯片模块(mcm)构造,其中多个部件(诸如存储器和开关控制器或处理器)安装在相同基板上。在2018年6月29日提交的标题为“nodewithcombinedopticalandelectricalswitching(具有组合式光电开关的节点)”(代理人案卷号wda-3751-us)的共同未决美国专利申请号16/024,723中提供了此类mcm节点的示例和进一步描述,该专利申请的全部内容由此以引用方式并入。

在图1的示例中,从第一或发起方节点1001传输一系列相关光信号。光信号旨在用于节点10012,但在到达节点10012处的其目标目的地之前必须行进通过中间节点1002至10011。在图1中,节点1001和10012通过对角交叉影线被指示为发起方节点和目的地节点。图1中的具有方框交叉影线的节点是环路或环面中的不接收光信号的节点。就这一点而言,发起方节点1001可以确定图1所示的路径比沿相反方向发送光信号更短。例如,该确定可以基于网络10中的节点的寻址方案来做出,或者可以基于响应于来自发起方节点101的初始信号而从目的节点10012接收的响应信号或ping信号。

中间节点1002、1003、1004、1005、1006、1007、1009、10010和10011接收该系列相关光信号,并且如下所讨论,路由光信号而无需将光信号转换成对应电信号以通过中间节点进行处理。这显著减小常规上与通过数据处理系统中的中间节点传输信号相关联的跃点延迟。

如图1中的水平交叉影线所示,中间节点1008将光信号重新生成为具有更大强度并且具有针对自光信号的数据的重新定时、整形和/或纠错的光信号。这允许光信号保持足够强度,并且从在通过中间节点1002、1003、1004、1005、1006和1007传播时引起的信号衰减、数据丢失和/或噪声恢复。如下面参考图7a和图7b的光信号处理子过程更详细地讨论的,中间节点1002至10011中的每一者可以确定是否处理来自光信号的数据。在其他实施方式中,中间节点1002至10011中的至少一些可以确定是否处理来自光信号的数据。节点可以基于例如以下来确定是否处理来自光信号的数据:该节点是否为光信号的目标目的地(即与中间节点相对的目的地节点)、初始光信号的信号强度或质量、和/或先前已接收初始光信号的先前节点的数量。

如以下参考图2和图3更详细讨论的,到节点的每个输入光路被配置为从节点100的外部接收光信号,并且节点的光电转换器被配置为在处理来自光信号的数据时将在输入光路上接收到的光信号转换为电信号。类似地,从节点的每个输出光路被配置为将光信号传输到下一个节点,并且节点的电光转换器被配置为将电信号转换成光信号以经由输出光路传输。

在一些情况下,节点可以确定来自由该节点接收的一个或多个光信号的数据将在该节点处被处理或存储。在其他情况下,节点可以将所接收到的数据转换回一个或多个光信号,以经由网络10从节点发送到另一节点。在其他情况下,节点可以选择性地将光信号路由到该节点之外,而无需处理来自光信号的数据。

就这一点而言,图1的数据存储系统中的节点100可以提供光和标准/电切换,以实现三种不同的功能。作为第一功能,节点100可以从网络10接收数据,以由节点的本地部件进行处理或存储。作为第二功能,节点100可以通过将所接收到的光信号转换成电信号,然后再转换回光信号以重新定时、整形、纠错、并且/或者提高发送到另一节点的光信号的强度或质量来提供标准的网络或电交换操作。作为第三功能,节点100可以通过绕过通常会增加延迟的某些电处理来提供光交换,使得节点充当“透明”的中间节点。

由数据处理系统中的节点100执行的光信号处理和路由处理(诸如下面讨论的图5至图9的过程)可以由执行存储在节点的存储器中的计算机可执行指令(例如,固件或软件)的节点的控制器或处理器(例如,图2中的开关控制器106)来执行。通常,这可以允许在此类路由和处理过程中进行调整,诸如通过更改标准或阈值(例如,光信号强度或先前节点的计数)进行调整,该标准或阈值用于确定是否路由某些光信号而无需处理来自光信号的数据。

图2是根据实施方案的网络10中的节点100的示例的框图。如本领域普通技术人员将理解的,节点100的不同实施方式可包括与图2所示的部件不同的部件或不同的部件布置。

如图2所示,节点100包括光模块104和片上系统(soc)109,该片上系统包括开关控制器106。开关控制器106包括用于控制光模块104和用于处理经由光模块104从光信号接收到的数据的电路。开关控制器106可以包括例如用于执行指令的一个或多个处理器,并且可以包括微控制器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、硬连线逻辑、模拟电路和/或它们的组合。在一些实施方式中,开关控制器106可以包括可编程网络开关芯片或包括其自己的存储器和/或多个处理器的片上系统(soc)。在这方面,开关控制器106可以存储用于操作节点100的计算机可执行指令(例如,固件或软件),该计算机可执行指令包括以下讨论的光路由过程。

在图2的示例中,开关控制器106形成包括其他部件(诸如硬件加速器112和处理器107)的soc109的部分。本领域普通技术人员将理解,其他实施方式可以在soc109中包括不同部件,诸如fpga或存储器。在其他实施方式中,开关控制器106可以不形成soc的部分,并且而是可以与处理器107和硬件加速器112分开。

处理器107包括诸如例如用于执行指令的一个或多个处理器的电路,并且可以包括微控制器、dsp、asic、fpga、硬连线逻辑、模拟电路和/或它们的组合。在一些实施方式中,处理器107可以包括soc。另外,在一些实施方式中,处理器107可以包括基于简化指令集计算机(risc)的处理器(例如,risc-v、arm)或基于复杂指令集计算机(cisc)的处理器。如上所述,处理器107可以允许节点100用作网络10中的处理节点或计算节点,诸如用于网络10中不同节点之间的分布式计算。处理器107可以使用从光模块104接收到的数据和/或对存储在易失性存储器108或非易失性存储器110中的数据的处理来执行处理或计算。

硬件加速器112可以包括专用电路,该专用电路用于处理用于开关控制器106的数据或用于执行特定操作或一组操作,诸如密码、分析或数据一致性功能(例如,确保存储器访问位置一致性)。在一些实施方式中,硬件加速器112可以用于将来自光信号的数据中包括的地址与光模块104中的光交叉点开关(诸如光交叉点开关1581)相关以用于选择性地将光信号从光模块104的输入光路路由到输出光路。

易失性存储器108可以包括与开关控制器106、处理器107或硬件加速器112接口连接的存储器,以在诸如由处理器107执行的应用程序的软件程序中的指令或功能的执行期间提供存储在易失性存储器108中的数据。易失性存储器108可以包括可以被快速访问的存储器,诸如动态随机存取存储器(dram)。在其他实施方式中,易失性存储器108可以包括其他类型的固态存储器(包括可以被快速访问的非易失性存储器,诸如磁阻ram(mram)或其他存储类存储器(scm))或者可以被其他类型的固态存储器代替。

非易失性存储器110可以通过提供比网络10中的其他节点相对更大的存储容量来允许节点100用作存储器节点。在一些实施方式中,可以在网络10中的节点之间共享或分发数据,以供网络10上的不同节点访问或处理。非易失性存储器110包括用于在电力循环之间存储数据的永久存储装置,并且可以包括例如硬盘驱动器(hdd)、诸如scm的固态存储器、两种类型的存储器的组合或此类存储器的集合。

尽管本文中的描述通常是指固态存储器,但应理解,固态存储器可以包括各种类型的存储器设备中的一种或多种,诸如闪存集成电路、硫族化物ram(c-ram)、相变存储器(pcm、pc-ram或pram)、可编程金属化单元ram(pmc-ram或pmcm)、ovonic统一存储器(oum)、电阻ram(reram)、nand存储器(例如,单层单元(slc)存储器、多层单元(mlc)存储器或它们的任何组合)、nor存储器、eeprom、铁电存储器(feram)、mram、其他离散的nvm芯片或它们的任何组合。

如上所述,节点100可以包括mcm构造,或者可以是具有不同类型构造的设备,诸如pcb上的具有在一些或所有部件之间的走线的部件。另外,节点100的其他实施方式可以包括不同数量的部件或不同的部件布置。例如,其他实施方式可能不包括硬件加速器112、处理器107、易失性存储器108或非易失性存储器110中的一者或多者。作为这样的示例,一种类型的scm(诸如mram、pcm、reram)或其他类型的scm类型可以用作非易失性存储器110,在这种情况下,可以省略易失性存储器108。另外,图2中的一个或多个部件可以在一些实施方式中集成在一起,诸如其中开关控制器106、处理器107和硬件加速器112一起形成为单个soc,如图2的示例所示,或者其中处理器107可以与开关控制器106组合为单个控制器/处理器单元。在其他实施方式中,诸如通过将fpga添加到节点100,附加部件可以包括在节点100中。

光模块104包括输出光路1541和输入光路1561。输出光路1541经由耦合器1401连接到光纤连接器124,以通过光纤111b1将光信号路由到节点100之外。激光器1441以对应于不同波长或颜色的光的不同的频率将光提供给图2中的环所示的调制器1461。在一些实施方式中,激光器1441可以包括连续波(cw)梳状激光器。

响应于从开关控制器106接收到的电信号,从驱动器放大器1481发送的电信号激活不同的调制器1461(由带有不同线标记的四个圆圈表示,以表示不同的调制器)。在这方面,激光器1441、调制器1461和驱动器放大器1481形成电光转换器1511,该电光转换器被配置为将从开关控制器106接收到的电信号转换成光信号,以经由输出光路1541传输到节点100的外部。在图2的示例中,调制器1461被示为环形调制器。其他实施方式可以使用用于电光转换器的不同部件(诸如例如盘形调制器、machzehnder结构、d-微纤维调制器上的石墨烯或微机电系统(mems)镜)代替环形调制器。

在图2的示例中,调制器1461的激活允许特定频率的光作为从光模块104输出的光信号在输出光路1541上传播。在这方面,不同频率的多个光信号可以在同一输出光路1541上同时传播,以增加从光模块104传播出去的数据的带宽。用于输出光路1541的电光转换器1511被配置为将从开关控制器106接收到的电信号转换为光信号,以经由输出光路1541传输到节点100外部,并且复用多个光信号以在输出光路1541上同时传输。

另外,光模块104可以包括多个输出光路和多个输入光路,每个光路能够同时携带不同频率的不同光信号。尽管在图2的示例中示出了四个谐振器和四个调制器,但是其他实施方式可以针对不同数量的光频率使用不同数量的谐振器和调制器。例如,可以将各自提供100gb/s的12种不同频率的光(即,通道)复用到在光路上提供1.2tb/s的一个光路中。如果在给定节点中使用24个输出光路154和24个输入光路156,则在此示例中,该节点的总带宽约为28tb/s。

在图2的示例中,输入光路1561通过光纤连接器124和耦合器1421连接到输入光纤111a1。经由输入光纤111a1接收到的光信号由环形谐振器和对应的雪崩光电二极管(apd)1501检测,该雪崩光电二极管向电阻抗放大器(tia)1521提供电信号。在一些实施方式中,光电转换器1531的一个或多个部件(诸如环形谐振器和/或tia1521)可以诸如通过滤除特定光或电频带之外的频率来提供信号的整形。然后将电信号提供给开关控制器106以进行处理。在这方面,谐振器和apd1501与tia1521一起形成光电转换器1531,该转换器被配置为将在输入光路1561上接收到的光信号转换为电信号,以供开关控制器106处理。其他实施方式可以诸如通过使用不同类型的光电二极管或通过使用盘形谐振器、machzehnder结构或mems镜代替环形谐振器而使用用于光电转换器的不同部件。

另外,一些实施方式可以在光电转换器1531中包括一个或多个电平分离器,该一个或多个电平分离器被配置为接收一部分光信号,以测量该光信号的信号强度。信号强度然后可以由开关控制器106用于确定是经由光交叉点开关1581路由后续光信号还是处理来自后续光信号的数据以重新生成具有更大信号强度或幅度的光信号。在其他情况下,可以使用电平分离器来周期性地观察输入光路1561以完成一系列相关的光信号,或者在输入光路1561上的光信号传输中识别错误或异常。

如下面参考图3更详细地讨论的,光模块104还包括光交叉点开关158(诸如光交叉点开关1581),该光交叉点开关被配置为将由光模块104接收到的光信号选择性地路由到节点100的之外,而无需节点100缓冲来自所接收到的光信号中的数据或者无需将所接收到的光信号转换成电信号以通过开关控制器106处理来自所接收到的光信号的数据。光交叉点开关1581可以包括例如环形谐振器、盘形谐振器、machzehnder结构或mems镜,它们在被激活时将光信号从输入光路1561引导到输出光路1541上。

如本文所使用的,光交叉点开关是指可以将光从输入光路引导到输出光路的开关。光模块104包括一个或多个此类光交叉点开关,并且可以可选地包括一个或多个此类光交叉点开关的阵列,如下面参考图4更详细地描述的。

光交叉点开关1581在特定频率下的激活可以对应于谐振器1501的停用和对该特定频率的电路径的禁用,使得针对该频率的光接收到的光信号不被转换和/或传输至开关控制器106。在一些实施方式中,除了沿禁用的电路径的其他部件(诸如,串行器/解串器(serdes)接口1621)或沿到控制器106的电路径的其他电路以外,还可以关闭整个放大器(诸如tia1521)。电部件的关闭通常可以减少节点100的功耗,对于节点100中的多个光输入路径,功耗可能加倍。

用于输出光路1541的驱动器放大器1481经由高速硅内插器130a连接至soc109的发送serdes接口1601。另外,用于输入光路1561的tia1521经由高速硅内插器130a连接至soc109的serdes接口1621。soc109的发送serdes接口1601可以从开关控制器106并行接收不同的电信号,以在输出光路1541上以不同的相应光信号发送数据。发送serdes接口1601对来自从开关控制器106接收到的并行电信号的数据进行串行化,以通过内插器130a进行传输。光模块104的驱动器放大器1481将通过内插器130a接收到的高速串行数据转换为电信号以激活相应的调制器1461。在一些实施方式中,驱动器放大器1481还可提供电信号的整形或滤波。

另一方面,接收serdes接口1621可以从tia1521接收成电信号形式的串行数据,该电信号表示在输入光路1561上接收到的不同光信号。接收serdes接口1621将经由内插器130a接收到的数据反串行化为与不同光信号相对应的并行电信号,以供开关控制器106处理。

在其他实施方式中,serdes接口1601和1621中的一个或两个可以替代地位于内插器130a的另一侧,以便包含在光模块104中。然而,serdes接口1601和1621在soc109中的位置会减小所需的连接数量。

在图2中,使用接收serdes接口1621和发送serdes接口1601对于内插器130a中的给定尺寸或数量的连接,通常可以允许相对较大数量的光路和光交叉点开关158。如下面更详细地讨论的,连接到soc109的其他部件(诸如非易失性存储器110或易失性存储器108)可以替代地使用并行接口或并行总线,而无需串行化和反串行化。在这方面,与距离较长的其他数据路径相比,(例如,在同一mcm节点100内)传播相对较短的距离的并行连接(诸如,并行接口或并行总线)不太可能经历高速并行信号中的数据的歪斜或时间不匹配。另一方面,通过输入光路接收到的数据通常可以作为一个或多个串行通道接收,以减少歪斜的可能性。在一些实施方式中,serdes接口1601和/或1621可以在信号经过节点到达其目标目的地节点时提供信号的重新定时。

尽管serdes接口1601和1621可以为给定连接提供重新定时和更大带宽的空间节省,但是数据的串行化和反串行化可能增加给定光信号的数据处理延迟并消耗功率。如下面更详细地讨论的,使用光交叉点开关1581可以避免中间节点在处理由该节点转换的电信号(例如,由光电转换器1531进行的光信号的转换)时添加的延迟。由中间节点进行的这种处理可以包括例如通过serdes接口1601和1621转移来自光信号的数据,或者由节点100的部件(诸如由开关控制器106)缓冲此类数据。对于将光信号转换为电信号以供节点处理的每个中间节点,在将电信号转换回光信号以传输至下一节点之前,此延迟或跃点延迟增加。在节点100中使用一个或多个光交叉点开关158可以消除该跃点延迟,这可以通过减少光信号传播通过比具有常规节点的网络中更多的节点的延迟来促进网络10中节点之间的更多节点和/或更少的互连(即光纤连接)。

在图2的示例中,soc109包括开关模块1641,该开关模块经由高速硅内插器130b和光模块104中的连接1761控制光交叉点开关1581的激活。在一些实施方式中,开关模块1641可以包括驱动器电路和/或用于控制光交叉点开关1581的激活的一个或多个定时器。

如以下参考图3和图4更详细讨论的,每个光路可以包括多个光交叉点开关158,用于将光信号从一个输入光路选择性地路由到输出光路而无需将光信号转换成电信号以供开关控制器106处理。在此类实施方式中,每个输入或输出光路可以包括其自己的开关模块164,用于激活光路上的光交叉点开关158,或者甚至用于激活光路上的每个光交叉点开关158内的特定谐振器。

如图2所示,soc109还包括并行接口166和167,用于分别将硬件加速器112和处理器107与开关控制器106接口连接。提供并行接口通常允许开关控制器106与部件(诸如处理器107和硬件加速器112)之间更高的数据带宽。

另外,对于用于soc109内的部件的并行链接或接口,图2的示例还包括并行接口170和168,用于分别经由高速硅内插器131和132连接到非易失性存储器110和易失性存储器108。并行接口的使用在开关控制器106和soc109外的部件(诸如非易失性存储器110和易失性存储器108)之间提供了更高的数据带宽。就其本身而言,非易失性存储器110和易失性存储器108分别包括并行接口172和174,用于向soc109中的部件(诸如,开关控制器106、处理器107或硬件加速器112)发送和接收数据。

在2018年6月29日提交并且以上以引用方式并入的共同待决美国专利申请号16/024,723中提供了节点内的并行接口和并行总线的示例和进一步描述。

图3描绘了根据实施方案的光模块的部分。图3中所示的与图2中所示的光模块104的部件具有相似的附图标记的部件具有与以上针对图2提供的描述类似的描述。

如图3所示,输入光路1561分别经由光交叉点开关1581和1584与输出光路1541和1542连接。另外,输入光路1562分别经由光交叉点开关1583和1582与输出光路1541和1542连接。通过这种布置,由光模块104在输入光路1561或1562中的任一者上接收到的光信号可以被选择性地路由到输出光路1541或1542中的任一者上。

在图3的示例中,光交叉点开关1581、1582、1583和1584中的每一者都包括环形谐振器,该环形谐振器可以由光交叉点开关的电信号多路复用器(诸如由电信号多路复用器1941、1943、1944)选择性地激活。用于光交叉点开关1582的电信号多路复用器在图3中未示出以避免不必要地使光交叉点开关1582变得模糊。

电信号多路复用器194可以经由图2中的连接1761从开关模块诸如开关模块1641接收电激活信号。在一些实施方式中,可以同时激活特定光交叉点开关158中的所有谐振器191。在其他实施方式中,所有谐振器191中的一个或多个谐振器可以被激活以仅将某些通道或光的频率从输入光路路由到输出光路。如本文所使用的,光交叉点开关的激活可以指光交叉点开关的至少一部分的激活。

在图3示例中,光交叉点开关1581被激活,使得光交叉点开关1581中的环形谐振器1911被通电,以将在输入光路1561上接收到的光信号传递到输出光路1541上。类似地,光交叉点开关1582被激活,使得光交叉点开关1582中的环形谐振器1912被通电,以将在输入光路1562上接收到的光信号传递到输出光路1542上。

如本领域普通技术人员将理解的,光模块的其他实施方式可以具有与图3所示的部件不同的部件或包括不同的部件布置。例如,在其他实施方式中,光交叉点开关158可以是具有不同构造的不同类型的光开关。在这方面,光交叉点开关158可以代替环形谐振器191而使用盘形谐振器、machzehnder结构或mems镜。

图4描绘了根据实施方案的光模块的开关阵列195。如图4所示,多个输入光路114a进入开关阵列195,并在光交叉点开关158处与多个输出光路114b的每个输出光路连接,在图4中,这些光交叉点开关在光路的交点处表示为黑点。开关阵列195可以包括例如光学基板,该光学基板包括硅、氮化硅和/或iii-v族半导体材料作为用于光路的波导。

在图4的示例中,经由输入光路114a的输入光路接收光信号1。沿开关阵列195中的输入光路的光交叉点开关158y被激活或通电,使得光信号1在与光交叉点开关158y处的输入光路相交的输出光路上被路由或重定向到开关阵列195外。如上所述,光交叉点开关158y可以针对所有通道或光的频率被激活,或者可以仅针对特定通道或光的频率被激活。

经由输入光路114a的不同输入光路接收光信号2。沿开关阵列195中的输入光路的光交叉点开关158x被激活或通电,使得光信号2在与光交叉点开关158x处的输入光路相交的输出光路上被路由或重定向到开关阵列195外。如上所述,光交叉点开关158x可以针对所有通道或光的频率被激活,或者可以仅针对特定通道或光的频率被激活。

其他实施方式可以包括光路和光交叉点开关的不同配置。例如,一些实施方式可以包括一个或多个输入光路,该一个或多个输入光路仅具有一个光交叉点开关或者仅用于光模块104或开关阵列195中的所有输出光路的子集的光交叉点开关。在其他实施方式中,光模块104可以包括共享光路以增加节点100中的光路和光交叉点开关的数量的多个开关阵列195。在此类实施方式中,光放大器(诸如由iii-v族半导体材料制成的那些)可以用于改善光信号的信号质量或强度。

示例性光信号路由和处理过程

图5是根据实施方案的在节点处的初始光信号处理过程的流程图。图5的初始光信号处理过程可以由执行计算机可执行指令(例如,固件或软件)的开关控制器106来执行。参考以上的图1,图5的过程可以由数据处理系统中的每个节点执行,或者可以由数据处理系统中的节点子集执行,诸如由包括在光连接节点的相对较长环或环面(例如,比预先确定的数量的节点更长)中的数据处理系统中的节点子集执行。

在框502中,第二节点从网络10的数据处理系统中的第一节点接收第一光信号。第一光信号由第二节点的光模块接收。参考图2的示例性节点100,第一光信号可以由输入光路1561经由光纤111a1接收。

在框504中,由第二节点的光模块的光电转换器将第一光信号转换成电信号。在图2中的节点100的示例中,光电转换器1531可以将第一光信号转换成电信号,并且经由内插器130a将电信号发送到开关控制器106。

在框506中,开关控制器106根据从光电转换器接收的电信号确定是处理来自一个或多个后续光信号的数据还是将一个或多个后续光信号路由到节点100之外而无需处理来自一个或多个后续光信号的数据。对来自一个或多个后续光信号的数据的处理可以包括以下中的至少一者:使用光电转换器将一个或多个后续光信号转换成对应的一个或多个电信号,以及在节点100的存储器中缓冲来自一个或多个后续光信号的数据。在一些情况下,开关控制器106的缓冲器可以用于缓冲来自一个或多个后续光信号的数据。在其他情况下,开关控制器106外部的节点100的缓冲器可以用于处理来自一个或多个后续光信号的数据。

如上所讨论,从节点100路由一个或多个后续光信号而无需处理来自一个或多个后续光信号的数据可以在引导一个或多个后续光信号通过网络10时显著减少中间节点延迟。在其他情况下,节点100可以在框506中确定来自一个或多个后续光信号的数据将由节点100处理。在此类情况下,节点100可以处理来自一个或多个后续光信号的数据以重新生成光信号从而用于从节点100传输,或者如果确定节点100是光信号的目的地节点,则可以处理数据。

图6是根据实施方案的光信号处理过程的流程图。图6的光信号处理过程可以由执行计算机可执行指令的开关控制器106来执行。在一些实施方式中,图6的光信号处理过程可以代替图5中的框506,并且从图5的初始光信号处理过程继续。

在图6的框602中,开关控制器106基于第一光信号确定第二节点是一个或多个后续光信号的目标目的地还是中间节点。就这一点而言,开关控制器106可以根据从第一光信号导出的对应第一电信号来确定由来自第一光信号的数据指示的地址是否指示对应于第二节点的地址。如果是,则第二节点是一个或多个后续光信号的目标目的地。如果否,则第二节点是一个或多个后续光信号的中间节点。

开关控制器106可以使用例如深度分组检查,根据来自存储在缓冲器中的第一光信号的数据访问或识别地址。在一些实施方式中,目的地地址可以由标志指示或可以占据特定位置,诸如在缓冲器中缓冲的数据分组的报头中。为第一光信号缓冲的数据还可以指示它是初始光信号还是用于后续一系列在输入光路上要接收的相关光信号的数据路径命令信号。

如果在框602中确定第二节点是目标目的地,则在框604中,节点100经由光模块104接收一个或多个后续光信号。在与第一光信号相同的输入光路(例如,图2中的输入光路1561)上接收到一个或多个后续光信号。

在框606中,在第二节点处处理来自光信号的数据时,将一个或多个后续光信号转换成一个或多个对应电信号。可以由光模块104的光电转换器转换一个或多个后续光信号,持续给定持续时间、持续特定数量的光信号、或直到接收最终光信号。就这一点而言,初始光信号可以指示包括一个或多个后续光信号的一系列光信号的时间段或数据大小。在其他实施方式中,最终光信号可以包括指示它是包括一个或多个后续光信号的一系列光信号的最终光信号的数据,诸如标志或分组号。

开关控制器106在内部路由来自对应的一个或多个电信号的数据,以用于在第二节点处进一步处理来自一个或多个后续光信号的数据。例如,开关控制器106可以将来自光信号的数据路由到处理器107以使用该数据来执行操作或修改该数据。在其他示例中,开关控制器106可以将来自一个或多个后续光信号的数据路由到非易失性存储器110或易失性存储器108以用于存储在第二节点处。

另一方面,如果在框602中确定第二节点不是一个或多个后续光信号的目标目的地,则图6的过程继续到图7a或图7b的光信号处理子过程。

尽管在图6中框602至606被示为不同的,但这些块中的一些操作可能在时间上重叠。例如,将一个或多个后续光信号转换成一个或多个对应电信号可以与接收一个或多个后续光信号的附加光信号重叠。

图7a是根据实施方案的光信号处理子过程的流程图。图7a的光信号处理子过程可以由执行计算机可执行指令的开关控制器106来执行。在一些实施方式中,如果根据第一光信号确定第二节点不是一个或多个后续光信号的目标目的地,则图7a的光号处理子过程可以跟随图6中的框602。与以上讨论的图5和图6的过程一样,图7a的过程可以由数据处理系统中的每个节点执行,或由数据处理系统中的节点子集执行,诸如由包括在光连接节点的相对较长环或环面中的数据处理系统中的节点子集执行。

在框702a中,开关控制器106确定先前已经接收到第一光信号的节点的数量。在一些实施方式中,来自第一光信号的数据可以包括由处理来自第一光信号的数据的每个中间节点递增的计数。例如,接收第一光信号的每个节点可以将第一光信号转换成对应第一电信号并且缓冲来自第一电信号的数据,之后增加数据中的计数值并且将第一光信号的数据转换回光信号以从节点传输。然后,第二节点在框702a中可以根据计数值确定先前已经接收到第一光信号的节点的数量。

在框704a中,确定先前已经接收到第一光信号的节点的数量是否小于节点的阈值数量。例如,第二节点可以将框702a中确定的先前节点的数量与节点的阈值数量进行比较(诸如五个先前节点)。例如,节点的阈值数量可以基于在信号质量或信号强度下降到低于期望水平之前的网络10中的节点的平均或预期数量。参考图1的示例,节点的阈值数量可以是七个节点,使得在第一光信号到达中间节点1008时,阈值数量的七个节点先前已经接收到第一光信号。然后,节点1008将在框704a中确定先前接收第一光信号的节点的数量不小于节点的阈值数量。

如果在框704a中确定先前节点的数量小于节点的阈值数量,则图7a的过程继续到框706以激活第二节点的光交叉点开关或其部分,以便将一个或多个后续光信号从第二节点路由到第三节点而无需在第二节点处处理来自一个或多个后续光信号的数据。参考图3中的光模块的示例性部分,开关控制器106可通过将电信号发送到电信号多路复用器1941来使光交叉点开关1581激活或通电,以便使一个或多个谐振器1911通电并且将在输入光路1561上接收到的光信号引导到输出光路1541上。

在一些实施方式中,开关控制器106还可以关闭或禁用用于处理来自在输入光路1561上接收到的光信号的数据的某些电部件。例如,并且如上所述,除了沿禁用的电路径的其他部件(诸如serdes接口1621)或沿到控制器106的电路径的其他电路以外,还可以关闭整个放大器(诸如图2中的tia1521)。电部件的该关闭通常可以减小第二节点的功耗。

如果在框704a中确定先前已经接收到第一光信号的节点的所确定的数量不小于节点的阈值数量,则第二节点在框708中经由光模块104接收一个或多个后续光信号。在与第一光信号相同的输入光路上接收到一个或多个后续光信号。

在框710中,在处理来自一个或多个后续光信号的数据时,将一个或多个后续光信号转换成一个或多个对应电信号。在图7a的示例性过程中,对来自一个或多个后续光信号的数据的处理包括将光信号转换成对应电信号以及缓冲来自信号的数据。由第二节点进行的处理还可以包括例如对来自一个或多个后续光信号的数据的纠错。可以使用诸如纠错码(ecc)的技术来执行这种纠错,其中奇偶校验数据或冗余数据包括在来自一个或多个后续光信号的数据中。

在框712中,将一个或多个对应电信号转换回具有更大信号强度和已校正数据中的至少一个的一个或多个后续光信号。就这一点而言,第二节点的开关控制器106可以将来自一个或多个后续光信号的已校正数据或原始数据发送到电光转换器1511的驱动器放大器1481,以使用激光器1441和调制器1461来转换回一个或多个后续光信号。

在框714中,第二节点将具有更大信号强度和已校正数据中的至少一个的一个或多个后续光信号从光模块104传输到第三节点。另外,在框712中的光信号的重新生成可以包括对信号的其他改善,诸如整形或重新定时。与另外无需第二节点处的处理而可能通过的节点相比,光信号的信号强度和/或质量的这些改善可以允许光信号继续通过网络10中的更多节点。

如上所述,与在每个中间节点处执行这种处理相反,可以将中间节点处的处理限制为根据需要的基础,以减小由这种处理添加的累积延迟量,诸如通过缓冲数据并且在节点处对跨serdes接口的数据进行串行化和反串行化。通过减少网络10中的延迟,通常可以增加网络10中的节点的数量和/或在网络10中使用更少的光连接,因为光信号可以在给定时间段内行进通过更多中间节点。除了减小通过行进通过网络10的光信号的延迟之外,前述过程还可以通过暂时关闭用于处理来自路由光信号的数据的某些电部件来减小节点处的功率。还通过不必处理一个或多个后续光信号来减小节点处的处理和存储资源的消耗。

尽管在图7中框702a至714被示为不同的,但这些块中的一些操作可能在时间上重叠。例如,将一个或多个后续光信号转换成一个或多个对应电信号可以与接收一个或多个后续光信号的附加光信号,以及将一个或多个对应光信号转换回光信号重叠。

图7b是根据实施方案的光信号处理子过程的流程图,该光信号处理子过程可以在一些实施方式中代替图7a的光信号处理子过程来执行。图7b的光信号处理子过程可以由执行计算机可执行指令的开关控制器106来执行。在一些实施方式中,如果根据第一光信号确定第二节点不是一个或多个后续光信号的目标目的地,则图7b的光号处理子过程可以跟随图6中的框602。与以上针对图5至图7a讨论的过程一样,图7b可以由数据处理系统中的每个节点或由数据处理系统中的节点子集执行。

图7b的光信号处理子过程类似于图7a的光信号处理子过程,不同之处在于在图7b中的框702b和702b中进行的确定和比较与在图7a的框702a和704a中进行的那些不同。

如图7b的框702b所示,确定第一光信号的信号强度。信号强度可以例如通过使用光模块104的光电信号转换器的电平分离器来测量,其向开关控制器106发送信号强度的指示。在其他实施方式中,光电信号转换器的tia放大器(例如,图2中的tia1521)可以在向开关控制器106发送来自第一光信号的数据时指示信号强度。

在框704b中,确定第一光信号的信号强度是否大于阈值信号强度。例如,可以由光电转换器提供表示信号强度的值,并且由开关控制器106将其与阈值进行比较。如果开关控制器106在框704b中确定信号强度大于阈值信号强度,则图7b的过程继续到框706以激活光交叉点开关并且将一个或多个后续光信号路由到第二节点之外而无需处理来自光信号的数据,如以上针对图7a描述的。

另一方面,如果开关控制器106在图7b的框704b中确定第一光信号的信号强度不大于阈值信号强度,则图7b的过程继续到框708至714以处理来自一个或多个后续光信号的数据,如以上针对图7a描述的。

在其他实施方式中,可以组合图7a和图7b的光信号处理子过程。例如,在一些实施方式中,可以组合框704a和704a,使得确定第一光信号的信号强度是否大于阈值信号强度(如在图7b的框704b中),并且确定先前已经接收到第一光信号的节点的数量是否小于节点的阈值数量(如在图7a的框704a中)。在这种示例中,如果这些状况中的任一个不为真,则第二节点处理来自一个或多个后续光信号的数据以便向第三节点重新生成具有更大信号强度、改善的信号质量(例如,重新定时或整形)和/或具有已校正数据的光信号。

图8是根据实施方案的光路由过程的流程图。在一些实施方式中,图8的过程可以由开关控制器106或其部分(诸如由开关控制器106的旁路模块)来执行。例如,在激活光交叉点开关(或其部分)时,图8的过程可以被执行作为图7a或图7b中的框706的子过程,以将一个或多个后续光信号从第二节点路由到第三节点而无需处理来自一个或多个后续光信号的数据。此外,图8的过程可以由数据处理系统中的每个节点或由数据处理系统中的节点的子集(诸如,包括多个输入光路和多个输出光路的某些节点)来执行。

在图8的示例性过程中的框802中,开关控制器106根据电信号识别对应于初始光信号的地址。该地址可以对应于网络10中的节点,或者可以对应于网络10中可由光模块104的特定输出光路访问的一组节点。

在一些实施方式中,开关控制器106可以使用例如深度分组检查,根据针对第一光信号的缓冲器中存储的数据访问或识别地址。在一些实施方式中,目的地地址可以由标志指示或可以占据特定位置,诸如在数据分组的报头中。来自第一光信号的数据还可以指示它是初始光信号还是用于后续一系列在输入光路上要接收的相关光信号的数据路径命令信号,诸如图4中的输入光学路径114a中的一个。

在框804中,开关控制器106基于所识别的地址从连接到初始光信号的输入光路的多个光交叉点开关中确定光交叉点开关以进行激活。在一些实施方式中,网络10的寻址方案可以提供与将用于到达与所标识的地址相对应的一个或多个节点的特定输出光路相关的信息。例如,开关控制器106可以使用查找表来将所标识的地址与光模块104的光交叉点开关相关联。

在框806中,开关控制器106激活所确定的光交叉点开关,以将一个或多个后续光信号路由到一个或多个其他节点而无需在第二节点处处理来自一个或多个后续光信号的数据。如上所讨论,处理可以包括例如以下中的至少一者:将一个或多个后续光信号转换成对应电信号,缓冲来自一个或多个后续光信号的数据,以及对来自一个或多个后续光信号的数据进行纠错。除了经由光交叉点开关启用光路之外,开关控制器106还可以停用或禁用节点100中的电路径的框806中的某些电部件以节省功率,同时将光信号路由到节点100之外而无需处理光信号。

在图2的示例中,开关控制器106可以经由高速硅内插器130b、连接1761和开关模块1641来激活光交叉点开关1581。如上所述,一些实施方式可以仅使得光交叉点开关中的特定谐振器激活或通电,以便选择性地路由特定通道或光的频率的光信号。

在框808中,开关控制器106在预先确定的时间量之后或响应于在输入光路上接收到最终光信号,禁用已激活的光交叉点开关以将输入光路与输出光路断开。在一些实施方式中,输入光路上的光电转换器(例如,图2中的光电转换器1531)可以周期性地将在输入光路上接收到的光信号转换成电信号,以窥探或观察一系列的一个或多个后续光信号是否已经结束,或者确定信号强度或质量是否已降到用于对剩余光信号进行重新定时、整形、放大或纠错以从节点100重新传输的阈值以下。

如上所讨论,第一光信号可以基于光信号传输的数据的大小来提供对光交叉点开关应保持激活多长时间的指示。在其他情况下,完成确认可以从单独的光路上的目标目的地节点发送,但要通过相同的节点(即在返回路径上)路由,以快速指示可能被停用的光交叉点开关。在其他情况下,可以在定期观察光信号期间接收结束命令,这将导致开关控制器106停用光交叉点开关并启用或打开可能在经由光交叉点开关光路由期间关闭的任何电部件。

图9是根据实施方案的数据处理系统的光信号处理过程的流程图。图9的过程可以由被配置为处理数据的数据处理系统(诸如以上描述的图1所示的数据处理系统)中的节点执行。与以上参考图5至图8讨论的过程一样,图9的过程可以由数据处理系统中的节点子集执行,诸如由包括在光连接节点的相对较长环或环面中的数据处理系统中的节点子集执行。

在框902中,将第一光信号从数据处理系统中的第一节点传输到数据处理系统中的第二节点。第一光信号可以是一系列相关光信号的初始光信号,以将数据从数据处理系统中的第一或发起方节点传输到数据处理系统中的第三或目标目的地节点。

在框904中,在第二节点处将第一光信号转换成电信号。转换可以由光电转换器(例如,图2中的光电转换器1531)执行。

在框906中,在第二节点处评估电信号。在一些实施方式中,评估可以包括例如在第二节点的存储器中缓冲来自第一光信号的数据,以及执行对已缓冲数据的检查或分析(诸如深度分组检查),以确定第一光信号的目的地以及第一光信号是否为一系列相关光信号中的初始光信号。

在框908中,第二节点基于在框906中的对电信号的评估来确定是否将从第一节点传输的一个或多个后续光信号路由到第三节点而无需处理来自一个或多个后续光信号的数据。如上所讨论,第二节点可以根据第一光信号识别地址,该地址指示第三节点或包括第三节点的一组节点作为一个或多个后续光信号的目的地。在这种示例中,第二节点确定将一个或多个后续光信号路由到第三节点而无需在第二节点处处理来自一个或多个后续光信号的数据。可以通过激活第二节点的光模块中的光交叉点开关来执行对一个或多个后续光信号的路由,以便将经由输入光路接收的一个或多个光信号引导到通向第三节点的输出光路上而无需处理来自光信号的数据。

在其他情况下,第二节点可以确定它是目标目的地节点,并且因此在第二节点处处理来自一个或多个后续光信号的数据。已处理数据可以由第二节点的控制器或处理器使用,或者可以存储在第二节点的存储器中。

在其他情况下,第二节点可以确定应当处理来自一个或多个后续光信号的数据,之后将对应电信号转换回具有更大信号强度、改善的信号质量和/或具有已校正数据的一个或多个光信号。

由于第二节点路由一个或多个后续光信号而无需处理来自光信号的数据的能力,因此可以具有带更多节点的数据处理系统和/或更好地使用更少数量的节点之间的光连接,这是由于通过网络中不处理来自光信号的数据的透明中间节点的更快行进速度。还可以通过关闭在对一个或多个后续光信号进行光路由时不需要的某些电部件而无需在中间节点处处理来自光信号的数据,减小系统的总体功耗。在透明中间节点处也保留处理资源和存储器资源。另外,中间节点处理来自一个或多个后续光信号的数据的选择性能力可以允许光信号在到达其目标目的地之前继续行进通过数据处理系统中的更多节点。

其他实施方案

本领域的普通技术人员将会知道,结合本文公开的示例所描述的各种例示性逻辑块、模块和过程可以实现为电子硬件、计算机软件或两者的组合。此外,前述过程可以体现在计算机可读介质上,该计算机可读介质使处理器或控制器执行或实施某些功能。

为了清楚地说明硬件和软件的这种可互换性,上面已经在其功能方面对各种例示性部件、块和模块进行了总体描述。将此功能性实现为硬件还是软件取决于特定应用和施加在整个系统的设计约束。本领域的普通技术人员可以针对每个特定应用以不同方式实现所描述的功能,但这种实现决策不应被解释为导致脱离本公开的范围。

结合本文公开的示例描述的各种说明性逻辑块、单元和模块可以用处理器或控制器(诸如例如,cpu、mpu、mcu或dsp)来实现或执行,并且可以包括例如fpga、asic或其他可编程逻辑设备、离散门或晶体管逻辑、离散硬件部件或设计为执行本文所述功能的其任何组合。处理器或控制器还可以被实现为计算设备的组合,例如,dsp和mpu、多个mpu、结合dsp核的一个或多个mpu或任何其他此类配置的组合。在一些实施方式中,控制器或处理器可以形成soc的至少一部分。

结合本文公开的示例描述的方法或过程的活动可以直接体现在硬件中、在由处理器或控制器执行的软件模块中,或在硬件和软件的组合中。该方法或算法的步骤也可以以与示例中提供的顺序另选的顺序执行。软件模块可以驻留在ram存储器、闪存存储器、rom存储器、eprom存储器、eeprom存储器、其他类型的固态存储器、寄存器、硬盘、可移动介质、光学介质或本领域已知的任何其他形式的存储介质中。示例性存储介质联接到处理器或控制器,使得处理器或控制器可以从该存储介质读取信息,并且可以向该存储介质写入信息。在替代方案中,存储介质可以与处理器或控制器集成在一起。

提供了本公开的示例性实施方案的上述描述,以使得任何本领域普通技术人员能够制作或使用本公开的实施方案。对这些示例的各种修改对于本领域普通技术人员而言将是显而易见的,并且在不脱离本公开的范围的情况下,本文公开的原理可以应用于其他示例。所述实施方案将在所有方面被认为仅仅是示例性的而非限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1