CN112667483B - 用于服务器主板的内存信息读取装置、方法及服务器 - Google Patents
用于服务器主板的内存信息读取装置、方法及服务器 Download PDFInfo
- Publication number
- CN112667483B CN112667483B CN202110002051.8A CN202110002051A CN112667483B CN 112667483 B CN112667483 B CN 112667483B CN 202110002051 A CN202110002051 A CN 202110002051A CN 112667483 B CN112667483 B CN 112667483B
- Authority
- CN
- China
- Prior art keywords
- memory
- module
- information
- register
- memory temperature
- 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
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种用于服务器主板的内存信息读取装置、方法及服务器。该内存信息读取装置包括:主设备模块,其经由第一总线与内存温度传感器和串行存在检测模块相连,在第一工作模式下被配置为访问所述串行存在检测模块以读取内存配置信息,并且,在第二工作模式下被配置为访问内存温度传感器以读取内存温度信息;至少一个中间寄存器,其中的至少一个第一寄存器被配置为存储主设备模块所读取的内存温度信息;以及从设备模块,其经由第二总线与基板管理控制器相连,并被配置为接收基板管理控制器发出的内存温度信息读取命令,以基于所接收的内存温度信息读取命令,向基板管理控制器提供至少一个第一寄存器所存储的内存温度信息。
Description
技术领域
本发明涉及服务器领域,并且具体地涉及一种用于服务器主板的内存(DRAM)信息读取装置、方法及包括内存信息读取装置的服务器。
背景技术
串行存在检测模块(SPD)为内存上的带电可擦除可编程只读存储器(EEPROM),其中存储有诸如内存的工作频率、工作电压、容量、速度、位宽等之类的内存配置信息。在系统开机上电之后,服务器主板上的南桥芯片会从与其相连的SPI Flash芯片调取基本输入输出系统(BIOS)程序并执行,随后,基本输入输出系统将利用南桥芯片所连接的主设备(Master)模块访问该串行存在检测模块,以读取内存配置信息并进行内存初始化操作。
此外,在内存的各个内存条(DIMM)上还集成有一内存温度传感器(TSOD)。基板管理控制器(BMC)作为服务器主板上的各个组件的健康状态监控器,在服务器主板上电运行期间,将通过其内部的主设备模块定期地访问各个内存温度传感器以获得内存温度信息,从而监控内存的工作状态。
在此情况下,若基本输入输出系统对于串行存在检测模块的访问以及基板管理控制器对于内存温度传感器的访问同时发生,则会发生冲突。为此,需要一种高效的用于避免由于基本输入输出系统和基板管理控制器同时尝试读取内存信息而导致的冲突的解决方案。
发明内容
为了解决上述问题,本发明提供了一种用于服务器主板的内存信息读取装置、方法及服务器。
根据本发明的一个方面,提供了一种用于服务器主板的内存信息读取装置,包括:主设备(Mater)模块,其经由第一总线与内存温度传感器(TSOD)和串行存在检测模块(SPD)相连,并具有第一工作模式和第二工作模式,其中,在第一工作模式下,主设备模块被配置为访问串行存在检测模块以读取内存配置信息,并且,在第二工作模式下,主设备模块被配置为访问内存温度传感器以读取内存温度信息;至少一个中间寄存器,其中,至少一个中间寄存器中的至少一个第一寄存器被配置为存储主设备模块所读取的内存温度信息;以及从设备(slave)模块,其经由第二总线与基板管理控制器(BMC)相连,并被配置为接收基板管理控制器发出的内存温度信息读取命令,以基于所接收的内存温度信息读取命令,向基板管理控制器提供至少一个第一寄存器所存储的内存温度信息。
根据本发明的示例,在基本输入输出系统(BIOS)上电自检(POST)阶段,主设备模块被配置为在第一工作模式下进行操作,以便由基本输入输出系统利用主设备模块读取内存配置信息并进行内存初始化操作,以及,在内存初始化操作完成后,主设备模块被配置为持续在第二工作模式下进行操作。
根据本发明的示例,在所述第二工作模式下,主设备模块被配置为经由第一总线以预定时间间隔访问内存温度传感器以读取内存温度信息,并将所读取的内存温度信息存储到至少一个第一寄存器中。
根据本发明的示例,主设备模块和从设备模块均支持SMBus协议或I2C协议,以及,基板管理控制器所发出的内存温度信息读取命令是基于从设备模块所支持的协议类型。
根据本发明的示例,至少一个中间寄存器还包括以下中的至少一种:至少一个第二寄存器,其被配置为存储将主设备模块在第一工作模式和第二工作模式之间进行切换的使能信息;至少一个第三寄存器,其被配置为存储预定时间间隔的时间信息;至少一个第四寄存器,其被配置为存储内存温度传感器的地址;至少一个第五寄存器,其被配置为存储第一总线的传输状态信息;以及至少一个第六寄存器,其被配置为存储主设备模块的重试次数阈值。
根据本发明的示例,内存信息读取装置还包括状态确定模块,其中,状态确定模块包括:至少一个第七寄存器,其被配置为预先存储内存温度阈值;以及逻辑模块,其被配置为基于内存温度阈值以及内存温度信息确定内存温度状态。
根据本发明的示例,内存信息读取装置还包括电源管理单元,电源管理单元包括:至少一个第八寄存器,其被配置为与逻辑模块相连并存储逻辑模块所确定的内存温度状态,其中,至少一个第八寄存器还被配置为与内存控制器(DRAMC)相连,以使内存控制器从至少一个第八寄存器读取内存温度状态并基于内存温度状态对内存总线传输速率进行调整;以及,至少一个第九寄存器,其被配置为存储用于使电源管理单元产生中断的使能信息,其中,电源管理单元经由中断向操作系统(OS)通知内存控制器对内存总线传输速率的调整。
根据本发明的另一方面,提供了一种服务器,包括:处理器(CPU);内存(DRAM);以及,服务器主板,其中,服务器主板包括上述的内存信息读取装置。
根据本发明的又一方面,提供了一种用于服务器主板的内存信息读取方法,包括:由主设备模块经由第一总线访问内存温度传感器或串行存在检测模块,其中,主设备模块具有第一工作模式和第二工作模式,在第一工作模式下,由主设备模块访问串行存在检测模块以读取内存配置信息,并且在第二工作模式下,由主设备模块访问内存温度传感器以读取内存温度信息;由主设备模块将所读取的内存温度信息存储到至少一个第一寄存器;以及由从设备模块经由第二总线接收基板管理控制器发出的内存温度信息读取命令,并基于所接收的内存温度信息读取命令,向基板管理控制器提供至少一个第一寄存器所存储的所述内存温度信息。
根据本发明的示例,在基本输入输出系统(BIOS)上电自检(POST)阶段,主设备模块在第一工作模式下进行操作,并且基本输入输出系统利用主设备模块读取内存配置信息并进行内存初始化操作,以及,在内存初始化操作完成后,主设备模块持续在第二工作模式下进行操作。
根据本发明的示例,在第二工作模式下,主设备模块经由第一总线以预定时间间隔访问内存温度传感器以读取内存温度信息,并将所读取的内存温度信息存储到至少一个第一寄存器中。
根据本发明的示例,主设备模块和从设备模块均支持SMBus协议或I2C协议,以及,基板管理控制器根据从设备模块所支持的协议类型来发送内存温度信息读取命令。
根据本发明的示例,上述方法还包括:预先存储内存温度阈值;以及基于内存温度阈值以及内存温度信息确定内存温度状态。
根据本发明的示例,上述方法还包括:由内存控制器获取内存温度状态,并基于内存温度状态对内存总线传输速率进行调整,以及,由电源管理单元产生中断以向操作系统通知内存控制器对内存总线传输速率的调整。
根据本发明实施例的上述内存信息读取装置、方法及服务器可适用于在采用主从接口协议进行数据传输时需要对多个主设备进行仲裁的场景,并能够实现避免由于基本输入输出系统和基板管理控制器同时尝试读取内存信息而导致的冲突,同时进一步简化服务器主板所需的硬件电路结构,降低软件复杂程度。此外,上述内存信息读取装置、方法及服务器不仅满足了基本输入输出系统对于内存配置信息的读取需求和基板管理控制器对于内存温度信息的读取需求,同时还进一步使内存控制器能够实时地根据内存温度来动态地调整内存总线传输速率。
附图说明
通过结合附图对本发明的实施例进行详细描述,本发明的上述和其它目的、特征、优点将会变得更加清楚。应当理解,附图用来提供对本发明实施例的进一步理解,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。
图1示出了基本输入输出系统和基板管理控制器对内存信息的同时读取存在冲突的现有系统架构的示意图;
图2示出了在现有技术中使用的用于避免读取内存信息时的冲突的发生的系统架构的示意图;
图3示出了根据本发明实施例的用于避免读取内存信息时的冲突的发生的系统架构的示意图;
图4示出了基板管理控制器基于SMBus协议或I2C协议访问从设备并进行数据传输的示意图;
图5示出了根据本发明实施例的包含内存控制器、状态确定模块和电源管理单元的系统架构的示意图;以及
图6示出了根据本发明实施例的内存信息读取方法600的流程图;
图7示出了根据本发明实施例的用于实现内存控制器根据内存温度动态地调整内存总线传输速率的方法700的流程图。
具体实施方式
为有助于以上提供的细节,提供以下说明以使本领域技术人员能够理解、制造和使用如本文所述和本文明确要求保护的发明。因为各个特征的特定组合将产生可在其中实践本发明的大量实践实施例,并且出于提供合理清晰和简洁的说明的目的,本文将仅呈现优选实施例。然而,应当认识到,本领域普通技术人员可以类似地实践本文未明确描述的其他实施例。这样,关于本发明的范围的任何评估都应针对本文中明确提供的权利要求进行,并在以其最广泛合理解释来考虑本说明以及考虑本领域普通知识和技术水平的情况下来解释本发明的范围。本说明中的任何内容都不旨在限制本发明的精神和范围。
下面将参照附图来描述根据本发明实施例的用于服务器主板的内存信息读取装置、方法及服务器。在附图中,相同的附图标记自始至终表示相同的元件。应当理解,本文描述的实施例仅仅是说明性的,而不应被解释为限制本发明的范围。
图1示出了基本输入输出系统和基板管理控制器对内存信息的同时读取存在冲突的现有系统架构的示意图。如图1所示,在芯片组104的南桥芯片103上连接有用于与各种器件进行通信的主设备模块105和从设备模块106。该主设备模块105可以连接诸如串行存在检测模块(SPD)、内存温度传感器(TSOD)等之类的各种信息存储或感测器件,并由基本输出输出系统(BIOS)或操作系统(OS)驱动以主动地向这些器件发出读取命令,从而读取设备的配置信息或运行状态信息等。该从设备模块106可以连接基板管理控制器(BMC)(例如,图1中所示的BMC 108),以接收基板管理控制器内部的主设备模块发出的读取命令,从而被动地响应于接收到的命令,而向基板管理控制器提供诸如处理器温度等之类的信息。
如图1进一步示出的,当基板输入输出系统利用主设备模块105经由总线107来访问SPD 109以读取内存配置信息,而同时BMC 108也经由该总线107来访问TSOD 110以读取内存温度信息时,相当于两个主设备同时尝试取得总线107的使用权以访问从设备,从而导致了冲突的发生。
图2示出了在现有技术中使用的用于避免读取内存信息时的冲突的发生的系统架构的示意图。如图2所示,通过在系统中增加一多路选择器201,来实现在同一时刻下仅主设备模块105和BMC 108中的一个可以取得总线107的使用权。然而,上述解决方案将增加硬件的成本。此外,上述解决方案还涉及由BMC固件或基本输入输出系统来仲裁在特定时刻下哪个主设备可以使用总线107,这需要在软件上进行协调,从而增加了软件复杂度并降低了系统的运行稳定性。
为此,本发明提出了一种高效的用于避免由于基本输入输出系统和基板管理控制器同时尝试读取内存信息而导致冲突的系统架构。图3示出了根据本发明实施例的用于避免读取内存信息时的冲突的发生的系统架构的示意图。如图所示,与图2示出的现有技术所采用的系统架构相比,图3示出的根据本发明实施例的系统架构取消了多路选择器201的使用,并且增加了用于缓存内存温度信息及其他相关信息的寄存器301。在此需要说明的是,虽然在图3中将寄存器301作为单个模块进行示出,但其代表的是用于实现对主设备模块105所读取的内存温度信息以及其他相关信息进行中间缓存的多个寄存器的集合。在下文中,将对寄存器301中包含的用于存储不同类型的信息的各种相关的寄存器的功能进行介绍。
基于图3示出的上述根据本发明实施例的系统架构,可以对主设备模块105和从设备模块106的工作模式进行配置,使主设备模块105自动地定期访问TSOD 110,并将读取到的内存温度信息存储到寄存器301中的相应寄存器内,随后,可以由从设备模块106响应于BMC 108发出的内存温度信息读取命令而将相应寄存器中存储的内存温度信息提供给BMC108,以避免由于BMC 108直接经由总线107读取内存温度信息而导致的冲突。
基于上述根据本发明实施例的系统架构,根据本发明的一个方面,提供了一种用于服务器主板的内存信息读取装置,其包括:主设备模块,经由第一总线与内存温度传感器和串行存在检测模块相连,并具有第一工作模式和第二工作模式,其中,在第一工作模式下,该主设备模块被配置为访问串行存在检测模块以读取内存配置信息,并且,在第二工作模式下,该主设备模块被配置为访问内存温度传感器以读取内存温度信息;至少一个中间寄存器,其中,该至少一个中间寄存器中的至少一个第一寄存器被配置为存储主设备模块所读取的内存温度信息;以及从设备模块,其经由第二总线与基板管理控制器相连,并被配置为接收基板管理控制器发出的内存温度信息读取命令,以基于所接收的内存温度信息读取命令,向基板管理控制器提供至少一个第一寄存器所存储的内存温度信息。
下面,继续参照图3来描述根据本发明实施例的上述内存信息读取装置的细节,其中,上述内存信息读取装置中的主设备模块和从设备模块分别对应于图3中所示的主设备模块105和从设备模块106,上述的至少一个中间寄存器对应于图3中所示的寄存器301,以及上述的第一总线和第二总线分别对应于图3中所示的总线107和总线111。
其中,在根据本发明实施例的上述内存信息读取装置中,主设备模块105可以具有两种不同的工作模式:第一工作模式和第二工作模式。第一工作模式为主设备模块105的正常(Normal)工作模式,在此模式下,基本输入输出系统能够正常地驱动该主设备模块105访问SPD 109,从而读取内存配置信息,并进行内存初始化操作;第二工作模式为主设备模块105的自动事务(Auto-transaction)模式,在此模式下,该主设备模块105将自动访问TSOD110以读取内存温度信息,并将读取到的内存温度信息存储到至少一个第一寄存器内,以便由BMC 108通过从设备模块106取得该内存温度信息。
在一个示例中,可以在基本输入输出系统上电自检(POST)阶段,将主设备模块105配置为在第一工作模式下进行操作,此时基本输入输出系统可以通过该主设备模块105读取内存配置信息并进行内存初始化操作。随后,在内存初始化操作完成后,可以将主设备模块105配置为持续在第二工作模式下进行操作,以满足基板管理控制器108定期监测内存温度的需求。
在此示例中,可以由基本输入输出系统来配置主设备模块105的工作模式。也就是说,当系统开机上电或重启时,基本输入输出系统可以首先将主设备模块105配置为在第一工作模式下进行操作。随后,当基本输入输出系统完成了针对内存的初始化操作之后,即可将主设备模块105配置为持续在第二工作模式下进行操作,直到系统关机或下一次重启。
当主设备模块105持续在第二工作模式下进行操作时,该主设备模块105可以被配置为经由总线107以预定时间间隔来访问TSOD 110以读取内存温度信息,并将所读取的内存温度信息存储到寄存器301中的至少一个第一寄存器中。其中,可以通过软件来设定该预定时间间隔,例如,将该预定时间间隔设置为等于或小于BMC 108定期监测内存温度时所采用的时间间隔,以满足BMC 108的监测需求。在此需要说明的是,虽然在图3中仅示出了一个主设备模块105和一个从设备模块106,但本发明并不对主设备模块和从设备模块的数量进行限制。例如,在一个示例中,可以存在多个并行的主设备模块,从而通过它们分别连接不同的器件,并分别取得有关于不同设备的信息。然而,在此示例中,由于主设备模块105需要在第二工作模式下以预定时间间隔来自动地定期访问TSOD 110,因此,该主设备模块105不再连接其他的从设备,而是仅与SPD 109和TSOD 110相连。
在根据本发明实施例的上述内存信息读取装置中,从设备模块106除了向BMC 108提供诸如处理器温度等之类的常规信息之外,还作为BMC 108读取内存温度信息的接口,从而响应于BMC 108发出的内存温度信息读取命令,而向BMC 108提供至少一个第一寄存器所存储的内存温度信息。在此情况下,BMC 108需要基于该从设备模块106所支持的协议类型来发送内存温度信息读取命令。例如,在一个示例中,该主设备模块105和从设备模块106均支持SMBus协议或I2C协议,因此BMC 108可以基于SMBus协议或I2C协议来向从设备模块106发出内存温度信息读取命令。此外,根据本发明实施例的内存信息读取装置还可以对从设备模块106进行配置,从而支持BMC 108继续使用原有的命令格式来读取内存温度信息。
图4示出了基板管理控制器基于SMBus协议或I2C协议访问从设备模块并进行数据传输的示意图,其中白色部分代表由基板管理控制器生成并发送的信号,而灰色部代表由从设备模块响应于接收到基板管理控制器所发送的信号而生成并发送的信号。如图4所示,基板管理控制器首先发送一个起始位S以通知从设备模块就位,随后发送从设备模块地址和写标志位Wr(一共为8位)。然后,基板管理控制器等待从设备模块的响应,并在接收到从设备模块发送的应答信号A之后,向从设备模块发送8位命令码。
表1示出了根据本发明实施例的基板管理控制器用于读取内存温度信息所使用的命令码的示例格式。
在以上表1的示例中,采用了8位命令码中的前三个位来表示基板管理控制器请求获取其温度信息的内存条所在的插槽的编号,从而使基板管理控制器能够对总共8个插槽上的内存条进行选取,然而本发明并不仅限于此。在实际的应用中,可以根据服务器主板上的实际内存条插槽数量来对8位命令码的格式进行定义,在此不进行限制。
如图4进一步所示的,在接收到从设备模块针对命令码发送的应答信号A后,基板管理控制器进一步发送起始位Sr、从设备模块地址和读标志位Rd,并等待从设备模块进行响应。在接收到从设备模块发送的应答信号A后,基板管理控制器继续接收从设备模块发送的低8位数据,并向从设备发送应答信号A。从设备模块在接收到基板管理控制器发送的应答信号A后,继续向其发送高8位数据。表2示出了根据本发明实施例的从设备模块向基板管理控制器发送的数据的示例格式。
如表2所示,从设备模块可以通过向基板管理控制器发送2个字节的数据来向其传送内存温度值并反馈总线的传输状态信息,从而满足基板管理控制器的监测需求。
在此需要说明的是,虽然以上以SMBus协议或I2C协议为例来对内存温度信息读取命令进行说明,但本发明并不仅限于此。在实际的应用中,本发明可以适用于各种主从接口协议,诸如UART、SPI、USB、LPC等。在此情况下,基板管理控制器可以基于该从设备模块实际支持的协议类型来发送相应格式的内存温度信息读取命令,在此不进行限制。
相应地,为了实现基板管理控制器对内存温度信息的自动读取以及传输状态监视,除了上述用于存储内存温度信息的至少一个第一寄存器以外,根据本发明实施例的至少一个中间寄存器还可以包括以下寄存器中的至少一种:至少一个第二寄存器,其被配置为存储将主设备模块在第一工作模式和第二工作模式之间进行切换的使能信息,其中,基本输入输出系统可以通过设置该至少一个第二寄存器中的使能信息,以使能主设备模块在特定的工作模式下进行操作;至少一个第三寄存器,其被配置为存储预定时间间隔的时间信息,从而实现主设备模块按照软件设定的预定时间间隔来访问内存温度传感器;至少一个第四寄存器,其被配置为存储内存温度传感器的地址,从而使主设备模块能够支持自动地发送包含地址信息的内存温度信息读取命令来读取内存温度信息;至少一个第五寄存器,其被配置为存储第一总线的传输状态信息,诸如传输完成、传输超时、设备故障(例如,由于内存条未被插入到某个内存条插槽中从而导致无法正确地读取其温度等)、总线冲突等,从设备模块能够获取上述传输状态信息并向基板管理控制器进行反馈,以实现基板管理控制器对于传输状态的监视;以及至少一个第六寄存器,其被配置为存储主设备模块的重试(Retry)次数阈值,当主设备模块尝试访问某一特定的温度传感器的次数超过该重试次数阈值时,则不再尝试访问该温度传感器。需要说明的是,本发明不对上述各种类型的寄存器的数量进行限制,可以根据需要来合理地设置所需的寄存器的数量。此外,还可以在根据本发明实施例的上述内存信息读取装置中进一步设置低通滤波器(例如,FIFO寄存器),以对从内存温度传感器输出的温度值进行缓冲,在此不进行限制。
根据本发明的另一个方面,还可以在根据本发明实施例的上述内存信息读取装置中进一步设置用于确定内存温度状态的状态确定模块以及电源管理单元(PowerManagement Unit,PMU),并将所确定的内存温度状态传递给内存控制器(DRAMC),从而进一步满足内存控制器根据内存温度来动态地调整内存总线传输速率的需求。
具体地,该状态确定模块可以包括:至少一个第七寄存器,其被配置为预先存储内存温度阈值;以及逻辑模块,其被配置为基于内存温度阈值以及内存温度信息确定内存温度状态。该电源管理单元可以包括:至少一个第八寄存器,其被配置为与该逻辑模块相连并存储该逻辑模块所确定的内存温度状态,其中,该至少一个第八寄存器还被配置为与内存控制器相连,以使该内存控制器从至少一个第八寄存器读取内存温度状态,并基于内存温度状态对内存总线传输速率进行调整;以及,至少一个第九寄存器,其被配置为存储用于使电源管理单元产生中断的使能信息,其中,该电源管理单元经由该中断向操作系统(OS)通知内存控制器对内存总线传输速率的上述调整。
图5示出了根据本发明实施例的包含内存控制器501、状态确定模块502和PMU 505的系统架构的示意图。接下来将参照图5来详细阐述根据本发明实施例中的内存控制器、状态确定模块以及电源管理单元的具体细节,其中,上述的至少一个第七寄存器对应于图5中所示的寄存器503,上述的逻辑模块对应于图5中所示的逻辑模块504,上述的至少一个第八寄存器以及至少一个第九寄存器分别对应于图5中所示的寄存器507和506。
具体地,在主设备模块105获取了内存温度信息后,该状态确定模块502中的逻辑模块504可以获取内存温度信息,并将内存温度与寄存器503中存储的内存温度阈值进行比较,以确定内存温度状态为正常或是过高,并将所确定的内存温度状态存储在PMU 505的寄存器507中。该寄存器507可以被配置为与内存控制器501相连,其中,内存控制器501可以从该寄存器507读取内存温度状态并基于内存温度状态对内存总线传输速率进行调整,例如,在内存处于温度过高的状态时降低内存总线传输速率,在内存温度恢复正常后提高内存总线传输速率等。在此需要说明的是,虽然处于示意性的目的而在图5中示出了状态确定模块502和PMU 505的位置,但本发明并不对上述模块在电路中的实际位置进行限制,并可以在芯片组104上合理地布置它们的位置,例如将状态确定模块502设置在主设备模块105的内部或附近等。
此外,在内存控制器对内存总线传输速率进行了调整之后,基本输入输出系统或操作系统可以相应地对寄存器506中存储的用于产生中断的使能信息进行设置,随后,电源管理单元可以通过读取该寄存器506中的使能信息来确定生成中断,并经由该中断向操作系统通知内存控制器501对内存总线传输速率的上述调整。该中断的类型例如可以是系统控制中断(SCI)或系统管理中断(SMI),在此不进行限制。
因此,根据本发明实施例的上述内存信息读取装置可适用于在采用主从接口协议进行数据传输时需要对多个主设备进行仲裁的场景,并能够实现避免由于基本输入输出系统和基板管理控制器同时尝试读取内存信息而导致的冲突,同时进一步简化服务器主板所需的硬件电路结构,降低软件复杂程度。此外,上述内存信息读取装置不仅满足了基本输入输出系统对于内存配置信息的读取需求和基板管理控制器对于内存温度信息的读取需求,同时还进一步使内存控制器能够实时地根据内存温度来动态地调整内存总线传输速率。
此外,本发明还提供了一种服务器,其可以包括处理器(CPU)、内存(DRAM)以及服务器主板,其中,该服务器主板可以包括上述的内存信息读取装置。
下面,参照图6来描述根据本发明实施例的用于服务器主板的内存信息读取方法。图6示出了根据本发明实施例的内存信息读取方法600的流程图。由于根据本发明实施例的内存信息读取方法600所包含的步骤的具体细节与在上文中参照图3至图5描述的细节相同,因此在这里为了避免重复而省略对相同细节的重复描述。
具体地,在步骤S601中,由主设备(Mater)模块经由第一总线访问内存温度传感器(TSOD)或串行存在检测模块(SPD),其中,该主设备模块具有第一工作模式和第二工作模式,在第一工作模式下,由主设备模块访问串行存在检测模块以读取内存配置信息,并且在第二工作模式下,由主设备模块访问内存温度传感器以读取内存温度信息。在步骤S602中,由主设备模块将所读取的内存温度信息存储到至少一个第一寄存器。在步骤S603中,由从设备(slave)模块经由第二总线接收基板管理控制器发出的内存温度信息读取命令,并基于所接收的内存温度信息读取命令,向基板管理控制器提供至少一个第一寄存器所存储的内存温度信息。
下面,继续参照图3来描述根据本发明实施例的上述内存信息读取方法的细节,其中,上述的主设备模块和从设备模块分别对应于图3中所示的主设备模块105和从设备模块106,上述的至少一个中间寄存器对应于图3中所示的寄存器301,而上述的第一总线和第二总线分别对应于图3中所示的总线107和总线111。
其中,在根据本发明实施例的上述内存信息读取方法中,主设备模块105可以具有两种不同的工作模式:第一工作模式和第二工作模式。第一工作模式为主设备模块105的正常(Normal)工作模式,在此模式下,BIOS能够正常地驱动该主设备模块105访问SPD 109,从而读取内存配置信息,并进行内存初始化操作;第二工作模式为主设备模块105的自动事务(Auto-transaction)模式,在此模式下,该主设备模块105将自动访问TSOD 110以读取内存温度信息,并将读取到的内存温度信息存储到至少一个第一寄存器内,以便由BMC 108取得内存温度信息。
在一个示例中,在基本输入输出系统上电自检(POST)阶段,主设备模块105在第一工作模式下进行操作,并且基本输入输出系统利用该主设备模块105读取内存配置信息并进行内存初始化操作。随后,在内存初始化操作完成后,主设备模块105持续在第二工作模式下进行操作。
在此示例中,可以由基本输入输出系统来配置主设备模块105的工作模式。也就是说,当系统开机上电或重启时,基本输入输出系统可以首先将主设备模块105配置为在第一工作模式下进行操作。随后,当基本输入输出系统完成了针对内存的初始化操作之后,即可将主设备模块105配置为持续在第二工作模式下进行操作,直到系统关机或下一次重启。
当主设备模块105持续在第二工作模式下进行操作时,其经由总线107以预定时间间隔来访问TSOD 110以读取内存温度信息,并将所读取的内存温度信息存储到寄存器301中的至少一个第一寄存器中。其中,可以通过软件来设定该预定时间间隔,例如,将该预定时间间隔设置为等于或小于BMC 108定期监测内存温度时所采用的时间间隔,以满足BMC108的监测需求。
在根据本发明实施例的上述内存信息读取方法中,从设备模块106除了向BMC 108提供诸如处理器温度等之类的常规信息之外,还进一步响应于BMC 108发出的内存温度信息读取命令,而向BMC 108提供至少一个第一寄存器所存储的内存温度信息。在此情况下,BMC 108需要基于该从设备模块106所支持的协议类型来发送内存温度信息读取命令。例如,在一个示例中,该主设备模块105和从设备模块106均支持SMBus协议或I2C协议,因此BMC 108可以根据SMBus协议或I2C协议来向从设备模块106发出内存温度信息读取命令。此外,根据本发明实施例的内存信息读取方法还可以对从设备模块106进行配置,从而支持BMC 108继续使用原有的命令格式来读取内存温度信息。
根据本发明的另一个方面,根据本发明实施例的上述内存信息读取方法还可以进一步确定内存温度状态,并将所确定的内存温度状态传递给内存控制器(DRAMC),从而进一步满足内存控制器根据内存温度来动态地调整内存总线传输速率的需求。
图7示出了根据本发明实施例的用于实现内存控制器根据内存温度来动态地调整内存总线传输速率的方法700的流程图。
如图7所示,在步骤S701中,预先存储内存温度阈值。在步骤S702中,基于内存温度阈值以及内存温度信息确定内存温度状态。在步骤S703中,由内存控制器获取内存温度状态,并基于内存温度状态对内存总线传输速率进行调整。在步骤S704中,由电源管理单元产生中断以向操作系统(OS)通知内存控制器对内存总线传输速率的调整。
接下来,将继续参照图5来详细阐述根据本发明实施例的方法700的具体细节。
具体地,在步骤S701中,可以由图5中所示的寄存器503来预先存储内存温度阈值。在主设备模块105获取了内存温度信息后,在步骤S702中,可以由该状态确定模块502中的逻辑模块504将内存温度与寄存器503中存储的内存温度阈值进行比较,以确定内存温度状态为正常或是过高,并将所确定的内存温度状态存储在PMU 505的寄存器507中。该寄存器507可以被配置为与内存控制器501相连,其中,在步骤S703中,内存控制器501可以从该寄存器507读取内存温度状态并基于内存温度状态对内存总线传输速率进行调整,例如,在内存处于温度过高的状态时降低内存总线传输速率,在内存温度恢复正常后提高内存总线传输速率等。
此外,在内存控制器对内存总线传输速率进行了调整之后,基本输入输出系统或操作系统可以相应地对寄存器506中存储的用于产生中断的使能信息进行设置,随后,在步骤S704中,电源管理单元可以通过读取该寄存器506中的使能信息来确定生成中断,并经由该中断向操作系统通知内存控制器501对内存总线传输速率的上述调整。该中断的类型例如可以是系统控制中断(SCI)或系统管理中断(SMI),在此不进行限制。
因此,根据本发明实施例的上述内存信息读取方法可适用于在采用主从接口协议进行数据传输时需要对多个主设备进行仲裁的场景,并能够实现避免由于基本输入输出系统和基板管理控制器同时尝试读取内存信息而导致的冲突,同时进一步简化服务器主板所需的硬件电路结构,降低软件复杂程度。此外,上述内存信息读取方法不仅满足了基本输入输出系统对于内存配置信息的读取需求和基板管理控制器对于内存温度信息的读取需求,同时还进一步使内存控制器能够实时地根据内存温度来动态地调整内存总线传输速率。
如本文所使用,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括计算、处理、推导、调查、查找(例如,在表、数据库或另一数据结构中查找)、查明等。而且,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。而且,“确定”可以包括解析、选择、构建等。
提供先前的描述以使本领域的任何技术人员能够实践本文描述的各个方面。对这些方面的各种修改对于本领域技术人员将是显而易见的,并且本文定义的一般原理可以应用于其他方面。因此,权利要求书不旨在限于本文中所示出的方面,而是应被赋予与权利要求书的语言一致的完整范围,其中以单数形式提及元件并非旨在表示“一个且仅一个”(除非明确如此说明),而是“一个或多个”。除非另有明确说明,术语“某些”是指一个或多个。本领域普通技术人员已知或以后将知道的、贯穿本发明内容所描述的各个方面的元素的所有结构和功能等同物均通过引用明确地并入本文,并且旨在由权利要求书涵盖。
可以通过能够执行相应功能的任何合适的部件来执行上述方法的各种操作。该部件可以包括(一个或多个)各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)或处理器。通常,在附图中示出了操作的情况下,那些操作可以具有带有相似标记的对应的对等装置加功能组件。
结合本发明描述的各种说明性逻辑块、模块和电路可以用旨在执行本文所述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备(PLD)、分立门或晶体管逻辑、分立硬件组件或其任何组合来实现或执行。通用处理器可以是微处理器,但可选地,处理器可以是任何市售处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP核心结合的一个或多个微处理器,或任何其他这样的配置。
如果以硬件实现,则示例硬件配置可以包括处理系统。该处理系统可以用总线架构来实现。总线可以包括任意数量的互连总线和桥接器,这取决于处理系统的特定应用和总体设计约束。总线可以将包括处理器、计算机可读存储介质和总线接口的各种电路链接在一起。总线还可以链接各种其他电路,诸如定时源、外围设备、电压调节器、电源管理电路等,这些在本领域中是已知的,因此将不再赘述。处理器可以用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、DSP处理器和其他可以执行软件的电路。本领域技术人员将认识到,取决于特定应用和施加于整个系统的总体设计约束,如何最好地为处理系统实现所描述的功能。
如果以软件实施,则功能可以作为一个或多个指令或代码被存储或发送到计算机可读存储介质上。软件应广义地解释为指的是指令、数据或其任何组合,无论被称为软件、固件、中间件、微码、硬件描述语言还是其他。处理器可以负责管理总线和常规处理,包括执行存储在机器可读存储介质上的软件模块。计算机可读存储介质可以耦合到处理器,以使得处理器可以从该存储介质读取信息,并且可以向该存储介质写入信息。替代地,存储介质可以与处理器集成在一起。举例来说,计算机可读存储介质或其任何部分可以被集成到处理器中,诸如可以具有高速缓存和/或通用寄存器文件的情况。机器可读存储介质的示例可以包括,例如,RAM(随机存取存储器)、闪存、ROM(只读存储器)、PROM(可编程只读存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、寄存器、磁盘、光盘、硬盘驱动器或任何其他合适的存储介质,或其任意组合。计算机可读存储介质可以体现在计算机程序产品中。
软件模块可以包括单个指令或多个指令,并且可以分布在若干不同的代码段上、在不同的程序之间以及在多个存储介质上。计算机可读存储介质可以包括多个软件模块。软件模块包括指令,指令在由诸如处理器的装置执行时,使处理系统执行各种功能。软件模块可以包括发送模块和接收模块。每个软件模块可以驻留在单个存储设备中,也可以分布在多个存储设备中。举例来说,当触发事件发生时,软件模块可以从硬盘驱动器加载到RAM中。在软件模块的执行期间,处理器可以将一些指令加载到高速缓存中以提高访问速度。然后可以将一个或多个高速缓存行加载到通用寄存器文件中,以供处理器执行。当参考下面的软件模块的功能时,将理解的是,当从该软件模块执行指令时,这样的功能由处理器实现。
此外,任何连接均适当地称为计算机可读存储介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或诸如红外(IR)、无线电和微波之类的无线技术从网站、服务器或其他远程源发送软件,然后将同轴电缆、光纤电缆、双绞线、DSL或诸如红外、无线电和微波之类的无线技术包括在介质的定义中。本文所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光学盘、数字多功能光盘(DVD)、软盘和光盘,其中磁盘通常以磁性方式复制数据,而光盘则以激光方式复制数据。因此,在某些方面,计算机可读存储介质可以包括非暂时性计算机可读存储介质(例如,有形介质)。另外,对于其他方面,计算机可读存储介质可以包括暂时性计算机可读存储介质(例如,信号)。上述的组合也应被包括在计算机可读存储介质的范围内。
因此,某些方面可以包括用于执行本文提出的操作的计算机程序产品。例如,这样的计算机程序产品可以包括其上存储(和/或编码)指令的计算机可读存储介质,该指令可由一个或多个处理器执行以执行本文描述的操作。
进一步,应当理解,如果适用的话,可以通过计算机下载和/或以其他方式获得用于执行本文所述的方法和技术的模块和/或其他适当的部件。例如,这样的设备可以耦合到服务器以促进用于执行本文描述的方法的部件的转移。可选地,可以经由存储部件(例如,RAM、ROM、诸如光盘(CD)或软盘的物理存储介质等)来提供本文描述的各种方法。此外,可以利用用于将本文描述的方法和技术提供给设备的任何其他合适的技术。
应当理解,权利要求不限于以上示出的精确配置和组件。在不脱离权利要求的范围的情况下,可以在上述方法和装置的布置、操作和细节上进行各种修改、改变和变化。
Claims (14)
1.一种用于服务器主板的内存信息读取装置,包括:
主设备Mater模块,其经由第一总线与内存温度传感器TSOD和串行存在检测模块SPD相连,并具有第一工作模式和第二工作模式,其中,在所述第一工作模式下,所述主设备模块被配置为访问所述串行存在检测模块以读取内存配置信息,并且,在所述第二工作模式下,所述主设备模块被配置为访问所述内存温度传感器以读取内存温度信息;
至少一个中间寄存器,其中,所述至少一个中间寄存器中的至少一个第一寄存器被配置为存储所述主设备模块所读取的内存温度信息;以及
从设备slave模块,其经由第二总线与基板管理控制器BMC相连,并被配置为接收所述基板管理控制器发出的内存温度信息读取命令,以基于所接收的内存温度信息读取命令,向所述基板管理控制器提供所述至少一个第一寄存器所存储的所述内存温度信息,
其中,在基本输入输出系统BIOS上电自检POST阶段,所述主设备模块被配置为在所述第一工作模式下进行操作,以便由基本输入输出系统利用所述主设备模块读取所述内存配置信息并进行内存初始化操作。
2.如权利要求1所述的内存信息读取装置,其中,
在所述内存初始化操作完成后,所述主设备模块被配置为持续在所述第二工作模式下进行操作。
3.如权利要求2所述的内存信息读取装置,其中,在所述第二工作模式下,所述主设备模块被配置为经由所述第一总线以预定时间间隔访问所述内存温度传感器以读取内存温度信息,并将所读取的内存温度信息存储到所述至少一个第一寄存器中。
4.如权利要求3所述的内存信息读取装置,其中,所述主设备模块和所述从设备模块均支持SMBus协议或I2C协议,以及,
所述基板管理控制器所发出的内存温度信息读取命令是基于所述从设备模块所支持的协议类型。
5.如权利要求4所述的内存信息读取装置,其中,所述至少一个中间寄存器还包括以下中的至少一种:
至少一个第二寄存器,其被配置为存储将所述主设备模块在所述第一工作模式和所述第二工作模式之间进行切换的使能信息;
至少一个第三寄存器,其被配置为存储所述预定时间间隔的时间信息;
至少一个第四寄存器,其被配置为存储所述内存温度传感器的地址;
至少一个第五寄存器,其被配置为存储所述第一总线的传输状态信息;以及
至少一个第六寄存器,其被配置为存储所述主设备模块的重试次数阈值。
6.如权利要求5所述的内存信息读取装置,其中,所述内存信息读取装置还包括状态确定模块,其中,所述状态确定模块包括:
至少一个第七寄存器,其被配置为预先存储内存温度阈值;以及
逻辑模块,其被配置为基于所述内存温度阈值以及所述内存温度信息确定内存温度状态。
7.如权利要求6所述的内存信息读取装置,其中,所述内存信息读取装置还包括电源管理单元,所述电源管理单元包括:
至少一个第八寄存器,其被配置为与所述逻辑模块相连并存储所述逻辑模块所确定的内存温度状态,其中,所述至少一个第八寄存器还被配置为与内存控制器DRAMC相连,以使所述内存控制器从所述至少一个第八寄存器读取所述内存温度状态并基于所述内存温度状态对内存总线传输速率进行调整;以及,
至少一个第九寄存器,其被配置为存储用于使所述电源管理单元产生中断的使能信息,其中,所述电源管理单元经由所述中断向操作系统OS通知所述内存控制器对所述内存总线传输速率的所述调整。
8.一种服务器,包括:
处理器CPU;
内存DRAM;以及,
服务器主板,其中,所述服务器主板包括:如权利要求1-7中任一项所述的内存信息读取装置。
9.一种用于服务器主板的内存信息读取方法,包括:
由主设备Mater模块经由第一总线访问内存温度传感器TSOD或串行存在检测模块SPD,其中,所述主设备模块具有第一工作模式和第二工作模式,在所述第一工作模式下,由所述主设备模块访问所述串行存在检测模块以读取内存配置信息,并且在所述第二工作模式下,由所述主设备模块访问所述内存温度传感器以读取内存温度信息;
由所述主设备模块将所读取的内存温度信息存储到至少一个第一寄存器;以及
由从设备slave模块经由第二总线接收基板管理控制器发出的内存温度信息读取命令,并基于所接收的内存温度信息读取命令,向所述基板管理控制器提供所述至少一个第一寄存器所存储的所述内存温度信息,
其中,在基本输入输出系统BIOS上电自检POST阶段,所述主设备模块在所述第一工作模式下进行操作,并且所述基本输入输出系统利用所述主设备模块读取所述内存配置信息并进行内存初始化操作。
10.如权利要求9所述的内存信息读取方法,其中,
在所述内存初始化操作完成后,所述主设备模块持续在所述第二工作模式下进行操作。
11.如权利要求10所述的内存信息读取方法,其中,在所述第二工作模式下,所述主设备模块经由所述第一总线以预定时间间隔访问所述内存温度传感器以读取内存温度信息,并将所读取的内存温度信息存储到所述至少一个第一寄存器中。
12.如权利要求11所述的内存信息读取方法,其中,所述主设备模块和所述从设备模块均支持SMBus协议或I2C协议,以及,
所述基板管理控制器根据所述从设备模块所支持的协议类型来发送所述内存温度信息读取命令。
13.如权利要求12所述的内存信息读取方法,其中,所述方法还包括:
预先存储内存温度阈值;以及
基于所述内存温度阈值以及所述内存温度信息确定内存温度状态。
14.如权利要求13所述的内存信息读取方法,其中,所述方法还包括:
由内存控制器获取所述内存温度状态,并基于所述内存温度状态对内存总线传输速率进行调整,以及,
由电源管理单元产生中断以向操作系统OS通知所述内存控制器对所述内存总线传输速率的所述调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110002051.8A CN112667483B (zh) | 2021-01-04 | 2021-01-04 | 用于服务器主板的内存信息读取装置、方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110002051.8A CN112667483B (zh) | 2021-01-04 | 2021-01-04 | 用于服务器主板的内存信息读取装置、方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112667483A CN112667483A (zh) | 2021-04-16 |
CN112667483B true CN112667483B (zh) | 2023-03-28 |
Family
ID=75412618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110002051.8A Active CN112667483B (zh) | 2021-01-04 | 2021-01-04 | 用于服务器主板的内存信息读取装置、方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667483B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840456A (zh) * | 2022-06-02 | 2022-08-02 | 三星(中国)半导体有限公司 | 存储设备的带外管理方法、基板管理控制器和存储设备 |
CN114924998B (zh) * | 2022-06-09 | 2023-05-23 | 北京东土科技股份有限公司 | 内存信息读取装置及方法、计算设备主板、设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446146A (zh) * | 2010-10-13 | 2012-05-09 | 鸿富锦精密工业(深圳)有限公司 | 服务器及其避免总线冲突的方法 |
CN111813731A (zh) * | 2020-06-11 | 2020-10-23 | 中国长城科技集团股份有限公司 | 一种内存信息的读取方法、装置、服务器及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467440A (zh) * | 2010-11-09 | 2012-05-23 | 鸿富锦精密工业(深圳)有限公司 | 内存错误检测系统及方法 |
CN103077102A (zh) * | 2011-10-25 | 2013-05-01 | 鸿富锦精密工业(深圳)有限公司 | 计算机开机侦测系统 |
US10489316B1 (en) * | 2018-06-04 | 2019-11-26 | Micron Technology, Inc. | Methods for performing multiple memory operations in response to a single command and memory devices and systems employing the same |
-
2021
- 2021-01-04 CN CN202110002051.8A patent/CN112667483B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446146A (zh) * | 2010-10-13 | 2012-05-09 | 鸿富锦精密工业(深圳)有限公司 | 服务器及其避免总线冲突的方法 |
CN111813731A (zh) * | 2020-06-11 | 2020-10-23 | 中国长城科技集团股份有限公司 | 一种内存信息的读取方法、装置、服务器及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112667483A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7739487B2 (en) | Method for booting a host device from an MMC/SD device, a host device bootable from an MMC/SD device and an MMC/SD device method a host device may booted from | |
US8700835B2 (en) | Computer system and abnormality detection circuit | |
US10846159B2 (en) | System and method for managing, resetting and diagnosing failures of a device management bus | |
US20140365641A1 (en) | Processor module, server system and method of controlling processor module | |
US7917664B2 (en) | Storage apparatus, storage apparatus control method, and recording medium of storage apparatus control program | |
CN112667483B (zh) | 用于服务器主板的内存信息读取装置、方法及服务器 | |
US9448808B2 (en) | BIOS update with service processor without serial peripheral interface (SPI) access | |
JP2011070655A (ja) | 情報処理装置、メモリダンプシステムおよびメモリダンプ方法 | |
US10783109B2 (en) | Device management messaging protocol proxy | |
US10019306B2 (en) | Collision detection for slave storage devices | |
JP2018116648A (ja) | 情報処理装置、その制御方法、及びプログラム | |
CN111949320B (zh) | 提供系统数据的方法、系统及服务器 | |
US9946552B2 (en) | System and method for detecting redundant array of independent disks (RAID) controller state from baseboard management controller (BMC) | |
CN117707884A (zh) | 一种监控电源管理芯片的方法、系统、设备和介质 | |
US20230367508A1 (en) | Complex programmable logic device and communication method | |
CN117389944A (zh) | 一种双路cpu控制方法、系统、装置及存储介质 | |
US20230418703A1 (en) | Autonomic troubleshooting of a system of devices | |
JP2002269029A (ja) | 高信頼性情報処理装置及びそれに用いる情報処理方法並びにそのプログラム | |
TWI777628B (zh) | 電腦系統及其專用崩潰轉存硬體裝置與記錄錯誤資料之方法 | |
US20140173365A1 (en) | Semiconductor apparatus, management apparatus, and data processing apparatus | |
CN112579507A (zh) | 宿主机与bmc通信的方法、bios、操作系统、bmc和服务器 | |
CN112486868B (zh) | 基于cpld存储双控同步系统、方法、设备及存储介质 | |
TWI832188B (zh) | 電腦系統以及在電腦系統中執行的方法 | |
US10409940B1 (en) | System and method to proxy networking statistics for FPGA cards | |
CN109697180B (zh) | 硬件资源扩充系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd. Address before: Room 301, 2537 Jinke Road, Zhangjiang hi tech park, Shanghai 201203 Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd. |