CN102420663B - 光收发器中的动态存储器分配 - Google Patents
光收发器中的动态存储器分配 Download PDFInfo
- Publication number
- CN102420663B CN102420663B CN201110337920.9A CN201110337920A CN102420663B CN 102420663 B CN102420663 B CN 102420663B CN 201110337920 A CN201110337920 A CN 201110337920A CN 102420663 B CN102420663 B CN 102420663B
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- supplemental characteristic
- optical transceiver
- optical
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/40—Transceivers
Landscapes
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Optical Communication System (AREA)
Abstract
本发明公开了在光收发器中为存储参数数据而动态地分配存储器的方法,算法,架构,电路,和/或***。该光收发器包括光接收器,用于接收光数据;光发送器,用于发送光数据;微处理器,用于为每个参数访问数据,其中该参数与一个或多个光接收器和发送机操作有关的;一个或多个存储器,用于在多个由微处理器动态分配的位置上存储数据;和一个接口,用于接收一个或多个来自主机的参数数据请求,并提供对应该要求的响应数据。在本公开中,主机不清楚存储器中存储数据的位置。
Description
技术领域
本发明一般涉及光收发器领域。更具体地说,本发明的实施例适用于和光收发器的操作有关的数据的存储器分配。
背景技术
光收发器通过光链路(比如,光纤链路)以光形式发送和接收数据。光收发器包括激光驱动器电路,用于驱动二极管(比如,发光二极管[LED]),以在光链路上由接收到的电信号产生光脉冲信号。光接收器包括接收光信号的光敏二极管,该光信号随后转换为电信号。因此,光收发器转换(I)光信号到模拟和/或数字电信号和(II)电信号到光信号。
为了判断光收发器是否正常工作,需要监控多个操作参数。常用的方法以存储器映射的方式将这些被监控的参数存储在光收发器中。在这种情况下,主处理器或者电路板发送存储器地址到收发器,以便在收发器中访问存储于此存储器地址上的被监控参数。但是,该方法把存储器静态分配,用于这些参数的存储单元,从而限制了这些存储器用于其它用途。
发明内容
本发明的实施例涉及在光收发器中为参数数据动态地分配存储器的方法,算法,架构,电路和/或***。
在一个实施例中,光收发器包括(I)光接收器,用于接收光数据;(II)光发送器,用于发送光数据;(III)微处理器,用于访问多个参数中的每一个数据,这些参数与光接收器和光发送器的至少一个操作有关;(IV)一个或多个存储器,用于在多个位置保存数据,这些位置是由微处理器动态分配的;和(V)接口,用于(a)接收主机发送的对一个或多个参数的数据请求,(b)为请求提供回应数据,主机并不知道这些存储数据的一个或多个存储器的位置。本发明还涉及包括这种光收发器的单纤三向光复用器。
在另一个实施例中,控制对光收发器中参数访问的方法包括(I)扫描光接收器中的一个或多个存储器,判定其中的可用数据存储单元位置;(II)在可用的存储单元位置中动态地分配位置用于参数数据存储单元,其中参数数据为该光收发器的操作参数;(III)把参数数据存储到该位置的一个或多个存储器中。
在又一个实施例中,访问光收发器中参数数据的方法包括(I)接收来自主机对参数数据的请求,其中参数数据用于该光收发器的操作参数;(II)把请求中的指令符转化到光收发器中一个或多个存储器的位置,在该位置上存储参数数据,主机不知道该位置的所在;(III)向主机发送被请求的参数数据。
在又一个实施例中,参数数据访问***包括(i)光收发器,用于发送和接收光数据,其中该光收发器包括微处理器和存储器,微处理器用于访问参数数据,而存储器用于在一个或多个位置上存储参数数据,该位置是由微处理器动态分配的;(ii)主机,用于向光接收器发起参数数据请求,并接收来自光接收器对应于请求的参数数据,其中该参数数据涉及一个或多个光收发器的操作,且主机并不知道存储数据的一个或多个存储器的一个或多个位置。
本发明的实施例优选地提供了一种方法在光收发器中为参数数据存储用途动态地分配存储器。
本发明的实施例允许增加存储器分配和整个收发器***设计的灵活性(而且参数数据的数量和类别也被收集,存储并处理)。本发明这些及其他的优点在以下优选实施例的详细描述中会更清楚地呈现出来。
附图说明
图1是与本发明实施例相关的典型光收发器***的原理框图。
图2是与本发明实施例相关的典型微控制器的原理框图,该典型微控制器适用于光收发器。
图3是与本发明实施例有关的典型参数数据控制结构的原理框图。
图4A,4B,4C是与本发明实施例有关的典型动态存储器映射的原理框图,该典型动态存储器映射用于适用参数数据。
图5与本发明实施例有关的典型方法的流程,适用于存储器位置分配和参数数据访问控制。
具体实施例
本发明的各种实施例都会有详细的参照。实施例会结合附图进行说明。本发明会结合随后的实施例说明,应该理解的是本发明不限于这些实施例的说明。相反的,本发明还预期涵盖,可能包括在由附加权利要求限定的本发明的主旨和范围内的可替换地,修正的和等同的方案。而且,在下文对本发明的详细说明中,指定了很多特殊细节,以便对本发明的透彻理解。但是,对于一个所属技术领域的专业人员来说,本发明没有这些特殊细节也可以实现的事实是显而易见的。在其他例子中,公知的方法,程序,部件和电路没有详尽说明,以避免本公开的各方面变得含糊不清。
随后的一部分详细说明需要用到过程,程序,逻辑块,功能块,处理,和其他代码来表示计算机,处理器,控制器和/或存储器中的操作符号,数据位,或数据流方面的术语。数据处理技术领域的专业人员通常用这些说明和表述来把他们工作的实质有效地传达给所属技术领域的其他专业人员。此处的,过程,程序,逻辑块,功能,方法等等通常都视为导向期望的和/或预期的结果的步骤或指令中的继发事件。步骤通常包括物理数量的物理操作。虽然未必,但这些数量通常以在计算机或数据处理***中的电子,磁力,光,或存储的,转移的,组合的,对照的量子信号及其他***控的形式表现。对普通用途而言,事实证明,参考这些信号,如位,流,值,要素,符号,特征,项,数字或类似的事物,和它们在计算机程序或软件中的表现形式,如代码(可以是目标代码,源代码或二进制代码)给这类说明和表述带来了便利。
不管怎样,我们都应该考虑到所有这些及类似的术语都与适当的物理量和/或信号有关,并且它们仅仅是适用于这些量和/或信号的符号而已。除非有特别说明和/或否则就如下所述一样显而易见,用贯穿本申请的论述术语诸如“处理”,“操作”,“处理”,“计算”,“判定”,“操纵”,“转化”或者诸如此类的涉及电脑或数据处理***的动作或步骤,或类似装置(如,电气,光学或量子计算,处理装置或电路)来处理或转换数据表示物理量(如,电子)都是允许的。这类术语涉及,在电路,***或构造(比如,寄存器,存储器,其他这样的信息存储,传输或显示装置等等)的部件范围内,把物理量处理或转换成在相同或者不同***或构造的其他部件范围中类似的物理量。
此外,在本申请的背景下,术语“电线”,“接线”,“线”,“信号”,“导体”和“总线”涉及任何已知的结构,构造,排列,技术,方法和/或步骤,用于在电路中物理上地从一个点转移信号到另一个点。并且,除非已经注明,否则,从就只能从此处的大前提下使用,术语“已知的”,“固定的”,“赋予的”,“某种”和“预先约定的”来提及值,数量,参数,约束,条件,状态,过程,程序,方法,实践或他们的组合,理论上是可变的,但是这种可变往往是提前设定,并且在那之后,使用时不发生改变。
相似地,为了方便和简单起见,虽然术语“时间”,“比率”,“周期”和“频率”通常是可交换的并且可以交替使用,但是赋予他们的含义通常是在此类技术上公认的。并且,为了简便,术语“数据”,“数据流”,“比特”,和“信息”可能会可替换地使用,如术语“链接到”,“联结到”和“通讯”(指间接或者直接的连接,联结或通讯),但是他们通常也是被赋予此类技术上公认的含义。
本发明的实施例优选地提供了一种方法,用在动态地为光收发器中存储参数数据分配存储器。
本发明的实施例允许内存器分配和整个收发器***设计更加灵活,且参数数据的数量和类别也被收集,存储并处理。本发明会在下文中利用典型的实施例把其各个方面做详细的说明。
根据本发明的不同实施例,本发明提供了一种构架或电路,用于存储器分配,适用于光收发器***的。总之,与本发明实施例有关的光收发器包括带有多个位置的存储器,这些位置在由微处理器或微控制器分配后,用于存储来自与接收机操作有关的被监控参数。和传统方法相比,本方法允许光纤收发器在链路时间或操作时间时以动态的方式存储存储器,使得***设计更加灵活。
参数数据访问***的实施例
在一个实施例中,参数数据访问***包括(i)光收发器,用于发送和接收光数据,其中该光收发器包括微处理器和存储器,微处理器用于访问参数数据,而存储器用于在一个或多个由该微处理器动态分配的位置存储参数数据;(ii)主机,用于为参数数据,向光接收器发起的请求和接收来自光接收器的响应请求的参数数据,其中该参数数据涉及一个或多个该光接收器的操作,且该主机并不知道一个或多个存储器中存储数据的位置。
图1举例说明了与本发明实施例有关的实施例光收发器***100。光收发器***100包含光收发器104(比如,光纤收发器)和主机102。主机102包含主处理器,电路板,独立的光网络装置(比如,中继器,光开关,机顶盒等等)或者任何其他包括合适的控制器或处理器的部件或装置。主机102通过通讯接口122与光收发器104相接。例如,通讯接口122是一个串行接口。可替换地,通讯接口122是一个包含多个位信号的并行接口。
光收发器104包含微控制器(MCU)120,光发送器116,和光接收器118。例如,光发送器116包含发光二极管(LED),激光二极管,或者任何其他适当的装置,用于通过光信号介质130(比如光纤)产生光脉冲(比如光信号)。光接收器118是光电二极管或者其他装置,用于接收光信号132且把接收到的光信号转换成电信号。光信号130和132是独立的光链路,或者是普通光纤链路的一部分或其他适用的光连接(比如,光波导,多模纤维[MMF],单模纤维[SMF]等等)。另外,单纤双向光复用器,单纤三向光复用器或其他多联收发器配置是由至少两个光收发器104或它们的部件构成的(比如,两个或以上的带单一光电发送器的光电接收器)。
模拟电信号124在模数转换器(ADC)106和光发送器116,以及光接收器118和ADC106之间传输。模拟电信号124以电子信息的形式容纳光信号信息。ADC106随后把这些电信号从模拟形式转化到数字形式,用于MCU120中的数字处理。MCU120还包括接口控制器114,中央处理器(CPU)或者微处理器110,指令存储器108和数据存储器112。通常,MCU120与主机102一般通过主机通讯接口122接收和发送通讯信息。
在某些实施例中,指令存储器108是非易失存储器,而数据存储器112是易失存储器。但是,指令存储器108可替换为易失存储器,或包含部分的非易失和易失存储器。同样,数据存储器108或许也可替换为包含非易失存储器,或包含部分的非易失和易失存储器。非易失存储器的例子包括电可擦写只读存储器(EEPROM),闪速只读存储器,磁随机存储器(MRAM),激光可编程存储器(比如,熔断器),或者其他合适类型的ROM或者非易失存储器装置。易失存储器的例子包括静态随机访问存储器(SRAM),动态随机访问存储器(DRAM),或者在通电时保持存储状态的其他合适类型的随机访问存储器或易失性存储元件。
此外,当数据存储器112通常被描述为存储与收发器操作有关的参数数据时,这样的数据可替换地或可附加地存储在指令存储器108中。比如,性能,存储器可用性和操作效率的因素用来判定参数数据是否存储在指令存储器108和/或数据存储器112中。在一些应用中,出于性能的考虑,就将指令存储在RAM或者其他数据存储器中。而且,比如当存储的数据不发生改变或者相对很少改变的时候,出于效率的考虑,就将不同数据的内存信息(比如,参数数据)存储在ROM或者其他非易失存储器中。
光收发器的实施例
在一个例子中,光收发器包含(i)光接收器,用于接收光数据;(ii)光发送器,用于发送光数据的;(iii)微处理器,用于为参数而访问数据,其中每个参数与至少一个光接收器和光发送器的操作有关;(iv)一个或多个存储器,用于把数据存储到多个微处理器动态分配的位置上;和(v)接口,用于(a)接收来自主机对一个或多个参数数据的请求和(b)提供对应该请求的响应数据,其中该主机并不知道一个或多个存储器中的一个或多个位置,而数据就存储在该位置上。
图2举例说明了一种微控制器120的例子,用于与本发明实施例有关的光收发器。ADC106用光信息信号124连接光发送器和/或光接收器(未在图中显示)。CPU110通过转换器206,利用控制信号216与ADC106互相作用。寄存器202可以通过获取来自转换器206的输出数据,为ADC106存储和提供输出。在某些情况下,不但信号分离器(未在图中显示)或者多个寄存器用于在一个更高速率支持转换器206的数据输出,而且寄存器202也能做到。比如,数据可以连续或循环地从转换器206输出到多个寄存器中。在信号分离器的例子中,来自转换器206的数据输出通过不同的信号分离器的输出发送到CPU110。
比如,寄存器202包括与光发送器116和/或光接收器118(例子见图1)操作相关的参数数据。如上所述,寄存器202,在图2中显示为一个单独的寄存器,也可以是多个寄存器,或者其他较大的存储器部件,用于获取大量来自ADC106的数据。比如,通过串行或者并行的方式获取各种参数数据。因此,尽管转换器206的输出通常是多位的(比如,n比特宽,当n是至少大于2的整数,诸如4,6,8,10,12,16,32等等),但是寄存器202的数据输出还是可以为并行或者串行的。为使CPU110能够撷取这种参数数据,数据访问控制信号224可以由CPU110激活。通过ADC输出信号/总线218输出来自寄存器202的数据,回应控制信号224。
参数数据在预先设定的频率和/或按需求提供给寄存器202和/或供CPU110访问(通过ADC输出信号218)。比如,在ADC106和/或CPU110正常操作期间,转换器206周期性地更新寄存器202。如果数据访问控制信号224处于激活状态,CPU110便通过ADC输出信号218在同样的频率接收来自寄存器202的周期性更新数据。
比如,本参数更新率在大约1ms到大约100ms(比如,大约在50ms)之间变化,或者任何其他在此范围内外的合适更新率,这个取决于ADC106和CPU110的操作频率及寄存器202的设计(比如,它是否是寄存器或多个寄存器的一部分,它是否包括信号分离器等等)。某些实施例也支持多个参数更新比率(比如,不同更新率用于不同的参数),包括一个或多个参数的可变更新率,用于周期性更新数据的。
在一些应用中,用户可以将这种参数数据更新率程序化。比如,不同支持的更新率凭借图形用户界面(GUI)呈现在用户面面前以供选择。同样,当给出的参数数据是可选的或者固定的时,也可以根据需求更新参数数据。在某些情况下,可以采用选项(比如,一个用户选项)来周期性地设定或者仅按需更新参数数据。在其他情况下,按需参数数据更新基本上可以无视其他周期性数据更新模式。
这样,就可以通过寄存器202和ADC输出信号218周期性地和/或按需求地更新参数数据。这些数据更新模式取决于特殊程序,某种参数和用户/客户设置。
CPU110通过接口信号226从指令存储器108撷取(比如,获取和/或预取)指令。CPU110也可以通过总线210与数据存储器112相接。比如,在总线210上把从ADC218接收来的参数数据提供给数据存储器112,用于存储。总线210是串行总线或者是用于串行和/或并行通信的多位总线,并且支持单向和/或双向信号发送。CPU 110同样在总线210上发送控制信号,用于控制数据112存储器扫描,以确定可用存储器位置,用于随后或者基本同时的从寄存器202撷取过来的参数数据存储。数据存储器112的这种扫描也可以以周期性的方式和/或响应需求的方式执行,例如由主机103请求撷取数据参数。比如,用与ADC输出信号218的更新速率大致相同,或者稍高或稍低的速率扫描数据存储器112用于可用位置。而且,按需参数数据更新也介入或包含为可用位置而扫描数据存储器112。
在一个例子中,数据存储器112包括存储器部分212和缓存部分204。相对于数据存储器112其余部分缓存部分204可以是一个更小和更快的存储器(比如,用更小的电容/密度并且在更高的频率运行)。存储器部分212和/或缓存部分204同样也包括各种的寄存器,这些寄存器能够被划分为参数数据的存储单元,CPU110管理这些寄存器的位置。并且,存储器部分212和缓存部分204可以被再分成任意数量的块或存储器其他的排列模式(比如,不同的芯片)。在这样设计示例中,缓存部分204向接口控制器114提供数据存储器输出222。比如,缓存部分204存储多份主机102最可能请求的参数数据。在一个实施例中,存储用户配置预定数量的参数到存储器部分212的缓存部分204中,以便于此类被请求参数数据可以更快地提供给主机102。可替换地,在存储器部分212中多份的参数数据也可以基于其他因素在缓存部分204中生成,诸如最近写入或者存入存储器部分212的参数数据,或者主机102最近请求的参数数据。用这种方式,缓存部分204可以有效地用于减少参数数据访问时间,以服务主机102的请求。
在某些实施例中,可以访问和存储数据存储器112中参数数据。为确定存储参数数据的可用位置,CPU110扫描数据存储器112。因此,适当的可用位置被定位给参数数据存储单元。如上所述,这种定位和参数数据的访问和存储都可以周期性地和/或按需地执行。一旦参数数据已经在数据存储器112中存储,本数据就可以通过主机通信接口122访问。另外,通过把主机对参数数据的请求与链接到数据存储器112合适存储单元位置的指标寄存器相关联,CPU110就可以管理参数数据存储单元位置。
在某些实施例中,主机102不知道数据存储器上存储参数数据的位置。因此,MCU120可以保留参数数据存储信息(比如,在数据存储器112中某参数数据存储的位置)而不用把此信息提供到光收发器本身以外(比如,图1中的光纤收发器104)。尽管如此,主机102仍然可以请求来自光收发器的此参数数据。
比如,接口控制器114可以通过主机通信接口122接收参数数据请求。来自主机102的参数数据请求包括标识符,该标识符用于寻找相应数据的参数。在本公开中,为了兼容传统或现存的(比如,“老式”)主机,虽然主机发送的请求可能包括地址信息,但是该地址信息辨识参数寻找的相应数据可以包括或者不包括这样的地址信息。
寄存器208可以存储进入的指示符和外出的参数数据。可替换地,单独的寄存器用于存储进入的指示符和外出的参数数据。控制器214(比如,微处理器,可编程逻辑器件[PLD],复杂可编程逻辑器件[CPLD],现场可编程门列阵[FPGA]等等)在接口控制器114内用指令信号220发送请求到CPU110。CPU110然后把来自参数数据请求的指示符关联或者映射到数据存储器112中特定存储位置,其中该被请求参数数据便处于该特定位置上。比如,CPU110保存目录,用于将来自该参数数据请求的指示符映射到指针寄存器,其中所述寄存器链接到在数据存储器112中的适当存储单元位置。
一旦CPU110通过指令信号220接收参数数据请求,CPU110就由信号210发送存储器读取请求到存储器112。主机102也通过发送存储器地址作为指令或者请求的一部分来访问参数数据。
但是,该存储器地址是由主机102发送的这样的参数数据访问存储器地址,CPU110可能会将其忽略或者将其解析为非存储器地址。比如,虽然主机102可以把最受欢迎的参数数据关联到某位置,其中该位置在数据存储器112的特殊存储器地址上,但是主机102仍可以不知道存储参数数据的真实地址。这样的操作可以使老式主机***适应,其中主机根据它的存储位置请求参数数据。不管怎样,在典型的实施例中,光收发器(而不是主机)还是可以存储和/或获悉真实的参数数据存储位置。
一旦主机通信接口122接收的请求指令,或同类指令或者它们的衍生(比如,参数数据标识符)通过指令信号220发送到CPU110,CPU110就可以在总线210上发出一个读取指令到数据存储器112。作为此过程的一部分,CPU110有效地把自主机102接收到的信息转化成为一个存储最受欢迎参数数据的真实存储位置,其中自主机102接收到的信息被看作是参数数据访问请求的一部分。如下所述,指示符可以用于完成这种转化或映射操作。无论如何,参数数据都通过存储器输出信号222从数据存储器112读取。接口控制寄存器208接收被请求的参数数据。该被请求的参数数据随后通过主机通信接口122提供给主机102。
如上所述,接口控制寄存器208也可以用于存储进入标识符,其中该进入标识符是由来自主机102的参数数据请求解析的或源于它。在这种情况下,寄存器208要足够宽(比如,32位,64位,128位等等)来容纳这样的请求信息和外出参数数据信息。可替换地,单独的寄存器(比如,16位,32位,64位等等)用于存储进入的标识符信息和外出的参数数据。而且,这里所述的各种的寄存器和存储单元位置也可以合并到一个相同存储器模块或者其他存储单元结构中。
图3举例说明了与本发明实施例有关的参数数据控制结构300示例。CPU110中的参数数据控制器302可以激活信号224,来读取在ADC输出总线218上的ADC输出寄存器202的参数数据内容。参数数据控制器302然后可以通过总线316,把受访的参数数据写入到参数数据寄存器308中。比如,参数数据寄存器308包含任意数量的寄存器(比如,310-0,310-1,310-2,…310-N,其中N是大于3的整数)。如上所述,ADC输出寄存器202要用到多个寄存器来而非一个来实施。比如,参数数据寄存器308可以构成此多个寄存器或者其他来,作为ADC输出寄存器202的替代。
来自参数寄存器308的输出318在分配的存储器312中提供给了一个合适的位置314(比如,314-X,…314-Y,…314-Z,…314-N,…)。在指针寄存器304中,参数数据控制器302也可以设置(比如,通过信号322)一个指针306(例如,306-0,306-1,306-2,…306-N),保持与分配的存储位置314(比如,通过信号320)一致。在这种方式中,来自ADC输出寄存器202的参数数据存储在位置314上,其中位置314处于分配的存储器312中。并且,随后通过来自指针寄存器304的指针306访问位置314。参数数据控制器302保持指针寄存器304与分配的存储器312一致。参数数据控制器302还包含一个表,用于存储与特殊参数一致的指针306的位置。这样,就可以把来自参数数据请求的标识符关联或者映射到特殊存储器位置314,其中该特殊存储器314位置是在分配的存储器312中的该被请求参数数据的所在。数据存储器输出可以随后,在总线222上借由信号220提供给来自分配存储器312的接口控制器114的回应请求。
可接受的寄存器大小(比如,8位宽,16位宽,32位宽等等)取决于CPU架构,操作***及其他设计考虑等因素,同时亦由每个具体的实施例决定。同样,任何适用于寄存器的格式(比如,位映像,带或不带符号整数,IEEE浮点等等)都会在某些实施例中得到支持。而且,任何适用于数据存储器112的容量(比如,至少2kB,几个kB,16kB,或更高)都能在具体的实施例中得到支持。同样,任何合适的存储器技术或者合适类型的存储器(比如,闪存,串行EEPROM,SRAM,DRAM等等)也能在具体的实施例中得到支持。除此之外,相对于数据存储器112剩余部分,缓存204(见例,图2)表示一种更小和更快的存储器。在缓存204中寻找或复制各种寄存器和/或分配的存储器部分,可以支持更快访问可能存储在此的参数数据。
图4A,4B和4C举例说明了和本发明实施例有关的动态存储器设计或示意图示例,适用于存储参数数据。
例子400(FIG.4A)是各种的受监的控参数数据,该受监控的参数数据与光收发器操作有关的,这些数据存储在数据存储器112的各种存储器位置402中。在这个例子当中,温度数据存储在存储器位置402-0,电压(比如,电源电压)数据存储在存储器位置402-1,光或激光偏置电流数据存储在存储器位置402-3,发送的光或激光功率数据存储在存储器位置402-4并且接收的光功率数据存储在存储器位置402-6。存储器位置402-2和402-5为其他数据/信息而保留,或者在未来分配给新的参数数据(比如,新数据,用于新参数或先前的受监控参数)。
在某些实施例中,用在动态模式,定位或者再定位参数数据在合适存储器位置问。正如例子400’所示(图4B),可以将温度数据存储在存储器位置402-0,将电压数据存储在存储器位置402-2,将光偏置电流数据存储在存储器位置402-1,将发送的光功率数据存储在存储器位置402-6,且将接收的光功率数据存储在存储器位置402-4。在400’表示在几个接收和存储新参数数据周期之后的例子400的地方的情况下,旧的或者不必要的参数数据可以被覆盖或者分配到数据存储器112中不同的存储器位置。因此,正如这里所讨论的,可以将参数数据存储在任何合适的动态分配存储器位置。
如图4中例子400”,也可以将某参数数据存储在数据存储器中112的至少一个存储器位置402上。比如,可以将温度数据存储在存储器位置402-0,402-2和402-3,而电压数据可以存储在存储器位置402-1,光偏置电流数据可以存储在存储器位置402-5,发送的光功率数据可以存储在存储器位置402-6,而接收的光功率数据存储在存储器位置402-4。存储在存储器位置402-0,402-2和402-3的温度数据表示相同温度参数的不同实例或者取样。相同参数的这种多重实例或者取样用于计算平均值,总数,或者其他数学计算结果(比如,最大/最小测定值),其中此类数学计算结果在存储在多存储器位置中的参数数据上发挥作用。可替换地,存储在存储器位置(比如,402-0)上的温度数据可以表示光收发器的部件(比如,激光发射器)温度,而存储在存储器位置(比如,402-2,402-3)上的温度数据可以表示其他光收发器的部件(比如,接收器激光二极管,发送器驱动电路等等)的温度。
当如图4A,4B和4C中所示的参数数据表示某些参数数据例时,任何与光收发器操作有关的数据都可以包括在具体的实施例中。比如,光收发器104中复合结构或单元的温度,诸如发送激光温度,模块温度,和/或光收发器118部件温度,都可以被存储和/或管理。又例如,光收发器104中复式结构,信号或单元的电压都可以被存储和/或管理。此外,包括发送器功率,射频(RF)功率和/或视频功率的功率数据都可以被存储和/或管理,诸如发送的光数字功率,接收的光数字功率,接收的光视频功率,射频输出功率,和/或视频输出功率。而且,也可以存储和/或管理其他激光相关数据,诸如激光输出波长和/或光输出数据频率。
与光收发器操作有关的函数或参数也可以随着时间而改变。比如,来自ADC106(比如,在ADC输出寄存器202上)的数据输出可以调节(比如,通过公式,校准,再编程等等),以便访问不同数据。参数寄存器308,ADC输出寄存器202或其他关联的寄存器也可以被再编程,改变存储在此的信息。由于再分配涵盖了不同的被监控参数,所以分配的存储器312也可以完全或者部分地解除分配。
示例的控制参数数据访问方法
在一个例子中,控制对光收发器参数数据访问的方法可以包含(i)扫描所述光接收器的一个或多个存储器,以确定其中的可用数据存储单元位置;(ii)在可用存储单元位置中动态地为参数数据存储分配位置,其中参数数据为所述光收发器的操作参数;(iii)把参数数据存储在所述位置的一个或多个存储器中。在另一个例子中,光收发器参数数据访问的方法包含(i)接收来自主机对参数数据的请求,其中参数数据为所述光收发器的操作参数;(ii)把所述请求的标识符转化到所述光收发器的一个或多个存储器的位置,所述参数数据存储在该位置上,所述主机不知道该位置;和(iii)向所述主机发送所述被请求的参数数据。
图5举例说明了与本发明实施例有关的用于控制对的参数数据的访问方法的示例。流程从502开始,而且可以在504扫描存储器,以寻找用于参数数据存储单元(可选择性地,用于指针存储)的可用位置。比如,CPU110可以扫描数据存储器112来寻找这样的可用位置。可用位置可以在506分配给与收发器操作有关的参数数据。比如,在数据存储器112内,分配的存储器部分312可以通过被完全扫描的存储器部分来确定。分配存储器位置还包括设置指针寄存器模块(比如,图3中的寄存器模块304),以便把某指针寄存器(比如,寄存器306-0到306-N)与相应的参数数据(比如,存储在分配的存储器312中的)相关联。比如,指针寄存器306-0可以用于存储特殊部件的温度的位置指针,指针寄存器306-1可以用于存储指针,该指针用于电压位置;指针寄存器306-2可以用于存储指针,该指针用于发送的光功率(比如,激光输出功率)的位置,而指针寄存器306-N可以用于存储指针,该指针用于接收的光功率的位置。
回到图5的流程图,在508,在存储器中,把参数数据存储在被分配的位置上。比如,参数数据可以从图3中的参数寄存器308(或ADC输出寄存器202)转移到一个分配的存储器312中分配的位置,而分配的位置的地址可以被存储在指针寄存器306-0,306-1,306-2,…和/或306-N,此类寄存器是与取得数据中的参数相对应的。因此,指针寄存器304中的指针306-0,306-1,306-2,…306-N随后用于在分配的存储器312中寻找存储的参数数据的相应位置。
假设,在510,主机没有接收到参数数据(比如,读取指令),那么流程返回到504扫描可用的存储器位置。因此,连续的参数监控,光收发器中的访问,和在分配的存储单元的参数数据存储都会出现,直到主机接在510收到对这种数据的请求。一旦主机在510接收到对参数数据的请求,来自主机请求的指令标识符或其他信息可以在512通过指针被转化为或者关联到合适位置,该合适位置位于被请求参数数据的被分配的存储器中。
比如,图3中的参数数据控制器302可以向指针寄存器304发送信号322,以匹配合适指针306-0,306-1,306-2,…或306-N,该合适指针与分配的存储器312中的被请求的数据相对应。
回到图5,在514,被请求的参数数据之后会从分配的存储器312撷取,然后借由通信接口发送到主机,假如有来自主机的又一个读取指令,那么流程500就返回到510。比如,参考图3,指针寄存器306-2用于判定,在分配的存储单元314-Y是否找到被请求参数数据。这种数据随后通过存储器输出222提供给接口控制器114,而后通过主机通信接口122从接口控制器114发送到主机102。一旦在510(图5)接收到又一个来自主机的参数数据请求,那么在512可以同样地将这个请求转化,用于在分配的存储器访问新的参数数据。但是,在510,如果没有未决的主机对参数数据的请求,流程返回504扫描可用存储器(比如,在数据存储器112中),以寻找可用位置。在流程500的进一步的实施例中,上部循环504,506,508和510都可以同时地和/或持续地和上部循环510,512和514一起运行。
如上所述,在具体实施例中,相对于从主机接收读取指令时的速率和向主机发送被请求的参数数据时的速率,扫描存储器时的速率和存储数据在分配的存储单元上时的速率是可变的。比如,包括504,506和508的流程可以发生在同一速率,而包括510,512和514的流程则发生在不同的速率。因此,参数数据可以以某个速率存储在分配的存储器中,其中此速率可以独立于主机请求此种数据时的速率。可替换地,这种情况对速率来说也是一样,比如当基于参数数据请求按需获得参数数据时。
示例的软件
本发明还包括算法、计算机程序和/或软件,其可执行或可实施的位于嵌入式装置(例如网络开关、路由器等)或通用计算机或工作站,其中嵌入式装置、计算机或工作站具有用于执行一个或多个本方法的步骤的常见数字信号处理器和/或一个或多个硬件的操作。通常,在本公开中,主机就是此类嵌入式装置。因此,在另一方面,本发明涉及执行上述方法的算法和/或软件。比如,本发明还涉及包含一套非暂时性计算机程序或者计算机可读介质。该非暂时性计算机程序被合适的处理装置(比如,信号处理装置,诸如微控制器,微处理器或DSP装置)执行。该计算机可读介质配置用于执行上述方法和/或算法。
比如,计算机程序可以存在于任何类型的可读介质上,而计算机可读介质包含任何(非瞬时)介质。该非瞬时介质,诸如软盘,CD-ROM,磁带或硬盘装置,可以由处理装置读取,且该处理装置配置用于读取介质和执行存储在非瞬时介质之上或之中的代码。在某些实施例中,存在于主机中的部分软件和/或算法属于通用计算机程序的范畴(比如,驱动器),并且在此类介质上被解码和/或被存储。此类代码可以包含目标代码,源代码和/或二进制代码。
在本公开中,由于信号生成与代码或硬件执行代码有关,所以代码通常是在用于通过合适的介质(诸如铜线,常见的双绞线,常见的网线,常见的光数据传输电缆,或甚至是用于无线信号传输的空气或者真空)上传输的。执行本方法的代码通常是数字的,而且一般通过常见的数字数据处理器(比如,微处理器,微控制器,或逻辑电路诸如可编程门列阵,可编程逻辑电路/装置或特殊应用[集成]电路)配置用于处理工作。
在各种实施例中,计算机可读介质包括一个或多个指令用于(i)扫描光收发器的一个或多个存储器,以判定其中的可用数据存储单元位置;(ii)从可用数据存储单元位置中,为参数数据存储单元分配位置,其中参数数据为光收发器的操作参数;和(iii)把参数数据存储在该位置的一个或多个存储器中。计算机可读介质还包括至少一个指令,用于存储指针或预定位置中存储的参数数据的位置地址,该预定位置与获得数据的参数对应。
在实施例中,计算机可读介质包含至少一个指令,用于(i)接收,辨识或处理来自主机的参数数据请求,其中该参数数据为光收发器的操作参数;(ii)把所述请求的标识符转化到光收发器的一个或多个存储器位置,所述参数数据存储在该位置上;和(iii)向主机发送被请求的参数数据。通常,主机不知道存储参数数据的位置。
虽然以上例子包括寄存器的特殊实施和其他存储器设计,但是该技术领域的专业人员会仍承认其他技术和设计也可以依照实施例使用。比如,不光指针,数据访问标记技术也可以在某些实施例中使用。而且,该技术领域的专业人员会承认其他形式的信号发送和/或控制方法(比如,基于电流的信号发送,基于标记的信号发送,差分信号发送等等)也可以依照各种实施例使用。
图解和说明已经展现了前述的本发明的特殊实施例。他们的目的不是用确切的形式限制本发明,而是,很明显,依照上述技术使本发明也可以得到修改和变更。实施例的选定和描述使本发明的原理及它的实际应得以最清楚地阐述,从而使所属专业技术领域的其他人员能最大程度地利用本发明及带各种修改的实施例,以适用于预期的特殊用途。即,由添加至此的权利要求和它们的等效叙述所规定的本发明的范围。
Claims (23)
1.一种光收发器,包含:(a)光接收器,用以接收光数据;(b)光发送器,用以发送光数据;(c)微处理器,用以每个参数访问数据,其中该参数与至少一个或多个所述光接收器和所述光发送器操作有关;(d)一个或多个存储器,用以把所述数据存储在多个由微处理器动态划分的位置上;和(e)接口,用于(I)接收一个或多个来自主机对所述参数的数据请求,并且(II)提供所述请求对应的所述数据,其特征在于:所述主机并不知道所述数据存储在所述一个或多个存储器中的位置,所述位置是在正常操作期间由所述微处理器动态分配的。
2.根据权利要求1所述的光收发器,还包括一个或多个偶联于所述光发送器和接收器的模数转换器(ADCs),其特征在于,所述一个或多个存储器包括多个与所述一个或多个ADC对应的多个寄存器,且每个所述的寄存器都用于为其中一个所述参数存储数据。
3.根据权利要求1所述的光收发器,其特征在于,所述一个或多个存储器包括易失性数据存储单元存储器,用于为全部所述多个参数存储数据。
4.根据权利要求1所述的光收发器,其特征在于,所述微处理器访问所述数据的所述位置响应所述主机的所述请求。
5.根据权利要求1所述的光收发器,其特征在于:所述参数包括组中至少二个元素,该组由激光器温度,模块温度,光接收器温度,电压,光偏置电流,发送的光数字功率,接收的光数字功率,接收的光视频功率,射频(RF)输出功率及激光波长组成。
6.根据权利要求1所述的光收发器,其特征在于:所述微处理器用于扫描所述的一个或多个存储器,以确定存储所述数据的可用位置。
7.根据权利要求1所述的光收发器,其特征在于:所述微处理器用于在所述的一个或多个存储器中,把来自所述主机的指令标识符用指针转化为对应位置。
8.根据权利要求6所述的光收发器,还包括指针寄存器,用于在所述微处理器动态地分配所述对应位置的时候存储所述指针。
9.一种单纤三向光复用器,包含如权利要求1所述的光收发器。
10.一种控制对光收发器的参数访问的方法,包括:(a)扫描所述光收发器中的一个或多个存储器,以判定其中的可用数据存储单元位置;(b)在所述的可用数据存储位置中动态地为所述的参数数据存储分配所述位置,其中所述的参数数据为所述光收发器的运行参数;(c)把参数数据存储在所述位置的所述一个或多个存储器中。
11.根据权利要求10所述的方法,其特征在于:所述位置是正常运行期间,由在所述光收发器中的微处理器动态分配的。
12.根据权利要求10所述的方法,还包含分配所述位置后,把指针存储到寄存器中的所述位置。
13.根据权利要求12所述的方法,其特征在于:(a)所述参数数据是模数转换器(ADC)的输出;(b)所述一个或多个存储器包含接收所述ADC输出的寄存器;而(c)所述指针指示寄存器作为在存储所述数据的所述一个或多个存储器中的所述位置。
14.一种访问光收发器中参数数据的方法,该方法包括:(a)接收来自主机对所述参数数据的请求,其中所述参数数据是用于所述光收发器的操作参数;(b)把来自所述请求的标识符对应到在所述光收发器中一个或多个存储器中的位置,该位置存储所述参数数据,所述主机不知道所述位置,所述位置是在正常操作期间由所述光收发器中的微处理器动态分配的;和(c)向所述主机发送被请求的参数数据。
15.根据权利要求14所述的方法,还包括在接收来自所述主机对所述参数数据的请求之后,且先于发送所述被请求的参数数据到所述主机之前,访问所述位置的参数数据。
16.根据权利要求14所述的方法,其中从所述请求转化所述标识符包括访问来自寄存器的指针,所述指针与所述位置对应。
17.根据权利要求16所述的方法,还包括当在所述一个或多个存储器中从多个可用数据存储单元位置分配所述位置时,把所述指针存储在所述寄存器中。
18.根据权利要求16所述的方法,其特征在于,所述参数数据是模数转换器(ADC)的输出,所述一个或多个存储器包含接收所述ADC输出的寄存器,而所述指针为所述输出寄存器指示所述一个或多个存储器中的所述位置,所述数据存储在该位置上。
19.根据权利要求18所述的方法,其特征在于:当接收到来自所述主机的所述数据的请求的时候,将所述ADC的输出存储在所述寄存器中。
20.一种访问参数数据的***,该***包括:(a)光收发器,用于发送和接收光数据,其中所述光收发器包括微处理器和存储器,所述微处理器用于访问所述参数数据,而所述存储器用于把所述参数数据存储在由所述微处理器动态分配的一个或多个位置上;和(b)主机,用于提供用于所述参数数据的请求给所述光收发器,并且对所述请求回应,接收来自所述光收发器的所述参数数据,其中所述参数是关于所述光收发器的一个或多个操作,且所述主机并不知道所述一个或多个存储器中的所述一个或多个位置,而所述数据就存储在该位置上。
21.根据权利要求20所述的***,其特征在于:所述光收发器还包括模数转换器(ADC),所述ADC具有寄存器,用于在所述参数数据存储到所述一个或多个存储器中之前,存储所述参数数据。
22.根据权利要求20所述的***,其特征在于:所述参数数据包括数据,用于至少二种来自组中的元素,该组由激光器温度,模块温度,光接收器温度,电压,光偏置电流,发送的光数字功率,接收的光数字功率,接收的光视频功率,射频(RF)输出功率及激光波长组成。
23.根据权利要求20所述的***,其特征在于:所述微处理器用于把来自所述主机的指令标识符用指针转化成为相应的一个或多个所述存储器中的一个或多个位置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/070,358 US8798475B2 (en) | 2011-03-23 | 2011-03-23 | Dynamic memory allocation in an optical transceiver |
US13/070,358 | 2011-03-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102420663A CN102420663A (zh) | 2012-04-18 |
CN102420663B true CN102420663B (zh) | 2015-05-06 |
Family
ID=45944914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110337920.9A Active CN102420663B (zh) | 2011-03-23 | 2011-10-31 | 光收发器中的动态存储器分配 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8798475B2 (zh) |
CN (1) | CN102420663B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5450745B1 (ja) * | 2012-09-18 | 2014-03-26 | 株式会社東芝 | 送信機及び送信機起動方法 |
US9251689B2 (en) * | 2014-02-27 | 2016-02-02 | Source Photonics, Inc. | Status monitoring, storage and reporting for optical transceivers by tracking operating parameter variations |
US9553663B1 (en) * | 2015-09-21 | 2017-01-24 | Inphi Corporation | System and method for calibration of an optical module |
US9660730B1 (en) | 2015-10-13 | 2017-05-23 | Inphi Corporation | Enhanced digital diagnostics for optical PAM apparatus |
US9780881B1 (en) | 2015-10-13 | 2017-10-03 | Inphi Corporation | Enhanced digital diagnostics for optical PAM apparatus |
CN107659359B (zh) * | 2017-09-15 | 2019-02-22 | 武汉光迅科技股份有限公司 | 光模块及其控制电路和方法 |
US10396897B1 (en) * | 2018-04-17 | 2019-08-27 | General Electric Company | Systems and methods for predicting defects in optical transceiver devices |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477834A (zh) * | 2002-08-01 | 2004-02-25 | 夏普株式会社 | 发送器/接收器设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7079775B2 (en) * | 2001-02-05 | 2006-07-18 | Finisar Corporation | Integrated memory mapped controller circuit for fiber optics transceiver |
JP4020815B2 (ja) * | 2003-03-28 | 2007-12-12 | 三菱電機株式会社 | 通信モジュール |
US7650077B2 (en) | 2005-10-25 | 2010-01-19 | Source Photonics Santa Clara, Inc. | Multi-data-rate optical transceiver |
US20050135756A1 (en) | 2003-12-19 | 2005-06-23 | Chao Zhang | Bi-directional optical transceiver module having automatic-restoring unlocking mechanism |
US7747834B2 (en) * | 2004-09-30 | 2010-06-29 | Kyocera Wireless Corp. | Memory manager for an embedded system |
US7721012B2 (en) * | 2006-01-18 | 2010-05-18 | Mindspeed Technologies, Inc. | Reprogrammable device address for a serial interface in an optic module |
US8107821B2 (en) * | 2006-10-13 | 2012-01-31 | Menara Networks, Inc. | Systems and methods for Ethernet extension and demarcation |
WO2009059331A2 (en) * | 2007-11-02 | 2009-05-07 | Finisar Corporation | Anticounterfeiting means for optical communication components |
KR20090058948A (ko) * | 2007-12-05 | 2009-06-10 | 한국전자통신연구원 | 혼성신호 다중화를 이용한 광 다이플렉서 모듈 및 그 방법 |
SG153702A1 (en) * | 2007-12-27 | 2009-07-29 | Finisar Corp | Digital diagnostics parameter storage |
US8842993B2 (en) | 2011-03-29 | 2014-09-23 | Source Photonics, Inc. | Operational status flag generation in an optical transceiver |
JP2013191985A (ja) * | 2012-03-13 | 2013-09-26 | Nec Corp | 光トランシーバ、光トランシーバの送信信号の調整方法及びプログラム |
-
2011
- 2011-03-23 US US13/070,358 patent/US8798475B2/en active Active
- 2011-10-31 CN CN201110337920.9A patent/CN102420663B/zh active Active
-
2014
- 2014-06-20 US US14/310,433 patent/US9485027B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477834A (zh) * | 2002-08-01 | 2004-02-25 | 夏普株式会社 | 发送器/接收器设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102420663A (zh) | 2012-04-18 |
US20140301740A1 (en) | 2014-10-09 |
US8798475B2 (en) | 2014-08-05 |
US20120243875A1 (en) | 2012-09-27 |
US9485027B2 (en) | 2016-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102420663B (zh) | 光收发器中的动态存储器分配 | |
CN102420662A (zh) | 光收发器内操作状态标示的生成 | |
CN102891717B (zh) | 适用于光模块的加强型的状态监控,存储和报告 | |
CN109426647A (zh) | 用于协调解聚的加速器装置资源的技术 | |
CN105993009B (zh) | 通过非透明桥向PCIe集群中的计算资源传送MSI-X中断的方法和装置 | |
CN102932062B (zh) | 智能光纤连接分配***及适配器端口状态信息标识方法 | |
CN105338432A (zh) | 一种光网络智能化的实现方法以及装置 | |
CN114493500A (zh) | 基于数字孪生技术的能源设备管理方法及装置 | |
CN109634644A (zh) | 通过无线通信为传感器进行固件升级的方法及其设备 | |
CN105208622A (zh) | 一种高效动态自动维护的路由表结构及路由表管理方法 | |
CN106506214A (zh) | 一种设备连接关系的自动化管理***及方法 | |
WO2015176479A1 (zh) | 无源射频识别标签、光学射频读写头及射频识别*** | |
CN114924751A (zh) | 一种业务访问请求流量分配的方法和装置 | |
CN102761793B (zh) | 一种矩阵化eID总线电路 | |
CN108073360A (zh) | 包括存储装置的计算装置以及计算装置的操作方法 | |
CN109168093B (zh) | Odn上光纤端口的定位管理装置及方法 | |
CN105281837A (zh) | 一种基于rfid的光纤尾纤智能配对方法 | |
CN105988903A (zh) | 一种笔记本电脑主板测试器 | |
KR20170099573A (ko) | 스마트 라벨, 스마트 라벨을 이용한 광 네트워크 관리 장치 및 관리 방법 | |
CN101290602B (zh) | 存储器管理***与方法 | |
CN108430130B (zh) | 一种具有室内定位功能的照明装置 | |
CN111124313A (zh) | 电力采集终端数据读写方法、装置和电子设备 | |
CN109710409A (zh) | 一种内存管理方法、***、装置及可读存储介质 | |
CN207148818U (zh) | 具有lun映射器的固态存储设备控制部件 | |
CN102098837A (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 |