服务器及其避免总线冲突的方法技术

技术编号:7325843 阅读:196 留言:0更新日期:2012-05-10 04:32
一种服务器,包括BMC、BIOS、温度传感器与SPD芯片,所述BMC包括:设置模块,用于在服务器开机时,设置总线标志位为第一数值;判断模块,用于当需要检测内存温度时,判断总线标志位是否为第一数值;检测模块,用于当总线标志位为第一数值时,使用I2C总线访问温度传感器。所述BIOS包括:修改模块,用于当需要初始化内存时,将总线标志位设置为第二数值;延时模块,用于延时指定时间;初始化模块,用于在所述指定时间到达后,使用I2C总线访问SPD芯片,以获取内存的配置信息来初始化内存;及重置模块,用于在初始化内存结束后,将总线标志位重置为第一数值。本发明专利技术还提供一种服务器避免总线冲突的方法。本发明专利技术能够避免BMC与BIOS同时使用I2C总线而发生总线冲突。

【技术实现步骤摘要】

本专利技术涉及一种。
技术介绍
通常来说,服务器使用温度传感器测量内存温度,主板管理控制器访问该温度传感器来检测内存温度。此外,服务器使用串行存在侦测芯片保存内存的配置信息(例如容量、数据宽度、工作速度以及电压等),基本输入输出系统访问串行存在侦测芯片以获取该配置信息,根据该配置信息来初始化内存。主板管理控制器对温度传感器的访问以及基本输入输出系统对串行存在侦测芯片的访问要通过I2C总线来实现。若主板管理控制器检测内存温度与基本输入输出系统初始化内存的操作同时发生,则会发生总线冲突。
技术实现思路
鉴于以上内容,有必要提供一种服务器,能够避免其中的主板管理控制器与基本输入输出系统同时使用I2C总线而发生总线冲突。此外,还有必要提供一种服务器避免总线冲突的方法,能够避免服务器中的主板管理控制器与基本输入输出系统同时使用I2C总线而发生总线冲突。一种服务器,包括主板管理控制器、基本输入输出系统、温度传感器与串行存在侦测芯片,所述主板管理控制器、基本输入输出系统、温度传感器与串行存在侦测芯片通过I2C总线通信连接,所述主板管理控制器还通过非I2C总线与基本输入输出系统通信连接,所述主板管理控制器包括设置模块,用于在服务器开机时,在主板管理控制器内部设置总线标志位,并将该总线标志位的初始值设置为第一数值;判断模块,用于当需要检测内存温度时,判断所述总线标志位是否为第一数值;及检测模块,用于当总线标志位为第一数值时,使用I2C总线访问温度传感器以检测内存温度;所述基本输入输出系统包括修改模块,用于当需要初始化内存时,通过非I2C总线将总线标志位设置为第二数值;延时模块, 用于延时指定时间,以错开主板管理控制器占用I2C总线的时间;初始化模块,用于在所述指定时间到达后,使用I2C总线访问串行存在侦测芯片,以获取内存的配置信息来初始化内存;及重置模块,用于在初始化内存结束后,通过非I2C总线将总线标志位重置为第一数值。一种服务器避免总线冲突的方法,所述服务器包括主板管理控制器、基本输入输出系统、温度传感器与串行存在侦测芯片,所述主板管理控制器、基本输入输出系统、温度传感器与串行存在侦测芯片通过I2C总线通信连接,所述主板管理控制器还通过非I2C总线与基本输入输出系统通信连接,该方法中主板管理控制器执行步骤在服务器开机时,在主板管理控制器内部设置总线标志位,并将该总线标志位的初始值设置为第一数值;当需要检测内存温度时,判断所述总线标志位是否为第一数值;及当总线标志位为第一数值时, 使用I2C总线访问温度传感器以检测内存温度;该方法中基本输入输出系统执行步骤当需要初始化内存时,通过非I2C总线将总线标志位设置为第二数值;延时指定时间,以错开3主板管理控制器占用I2C总线的时间;在所述指定时间到达后,使用I2C总线访问串行存在侦测芯片,以获取内存的配置信息来初始化内存;及在初始化内存结束后,通过非I2C总线将总线标志位重置为第一数值。本专利技术利用总线标志位指示I2C总线是否被基本输入输出系统占用,避免了主板管理控制器与基本输入输出系统同时使用I2C总线而发生总线冲突。附图说明图1为本专利技术服务器较佳实施例的架构图。图2为图1中的服务器避免总线冲突的方法较佳实施例中主板管理控制器的工作流程图。图3为图1中的服务器避免总线冲突的方法较佳实施例中基本输入输出系统的工作流程图。主要元件符号说明权利要求1.一种服务器,包括主板管理控制器、基本输入输出系统、温度传感器与串行存在侦测芯片,所述主板管理控制器、基本输入输出系统温度传感器与串行存在侦测芯片通过I2C 总线通信连接,所述主板管理控制器还通过非I2C总线与基本输入输出系统通信连接,其特征在于,所述主板管理控制器包括设置模块,用于在服务器开机时,在主板管理控制器内部设置总线标志位,并将该总线标志位的初始值设置为第一数值;判断模块,用于当需要检测内存温度时,判断所述总线标志位是否为第一数值;及检测模块,用于当总线标志位为第一数值时,使用I2C总线访问温度传感器以检测内存温度;所述基本输入输出系统包括修改模块,用于当需要初始化内存时,通过非I2C总线将总线标志位设置为第二数值; 延时模块,用于延时指定时间,以错开主板管理控制器占用I2C总线的时间; 初始化模块,用于在所述指定时间到达后,使用I2C总线访问串行存在侦测芯片,以获取内存的配置信息来初始化内存;及重置模块,用于在初始化内存结束后,通过非I2C总线将总线标志位重置为第一数值。2.如权利要求1所述的服务器,其特征在于,所述第一数值为0,所述第二数值为1。3.如权利要求1所述的服务器,其特征在于,所述指定时间大于主板管理控制器检测内存温度需要占用I2C总线的时间。4.一种服务器避免总线冲突的方法,所述服务器包括主板管理控制器、基本输入输出系统、温度传感器与串行存在侦测芯片,所述主板管理控制器、基本输入输出系统、温度传感器与串行存在侦测芯片通过I2C总线通信连接,所述主板管理控制器还通过非I2C总线与基本输入输出系统通信连接,其特征在于,该方法中主板管理控制器执行步骤在服务器开机时,在主板管理控制器内部设置总线标志位,并将该总线标志位的初始值设置为第一数值;当需要检测内存温度时,判断所述总线标志位是否为第一数值;及当总线标志位为第一数值时,使用I2C总线访问温度传感器以检测内存温度; 该方法中基本输入输出系统执行步骤当需要初始化内存时,通过非I2C总线将总线标志位设置为第二数值; 延时指定时间,以错开主板管理控制器占用I2C总线的时间; 在所述指定时间到达后,使用I2C总线访问串行存在侦测芯片,以获取内存的配置信息来初始化内存;及在初始化内存结束后,通过非I2C总线将总线标志位重置为第一数值。5.如权利要求4所述的服务器避免总线冲突的方法,其特征在于,所述第一数值为0, 所述第二数值为1。6.如权利要求4所述的服务器避免总线冲突的方法,其特征在于,所述指定时间大于主板管理控制器检测内存温度需要占用I2C总线的时间。全文摘要一种服务器,包括BMC、BIOS、温度传感器与SPD芯片,所述BMC包括设置模块,用于在服务器开机时,设置总线标志位为第一数值;判断模块,用于当需要检测内存温度时,判断总线标志位是否为第一数值;检测模块,用于当总线标志位为第一数值时,使用I2C总线访问温度传感器。所述BIOS包括修改模块,用于当需要初始化内存时,将总线标志位设置为第二数值;延时模块,用于延时指定时间;初始化模块,用于在所述指定时间到达后,使用I2C总线访问SPD芯片,以获取内存的配置信息来初始化内存;及重置模块,用于在初始化内存结束后,将总线标志位重置为第一数值。本专利技术还提供一种服务器避免总线冲突的方法。本专利技术能够避免BMC与BIOS同时使用I2C总线而发生总线冲突。文档编号G06F13/36GK102446146SQ20101050575公开日2012年5月9日 申请日期2010年10月13日 优先权日2010年10月13日专利技术者张玉岗 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:张玉岗
申请(专利权)人:鸿富锦精密工业深圳有限公司鸿海精密工业股份有限公司
类型:发明
国别省市:

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

1
相关领域技术