CN101135954B - 一种实现硬盘初始化的方法、装置和系统 - Google Patents
一种实现硬盘初始化的方法、装置和系统 Download PDFInfo
- Publication number
- CN101135954B CN101135954B CN2007101760543A CN200710176054A CN101135954B CN 101135954 B CN101135954 B CN 101135954B CN 2007101760543 A CN2007101760543 A CN 2007101760543A CN 200710176054 A CN200710176054 A CN 200710176054A CN 101135954 B CN101135954 B CN 101135954B
- Authority
- CN
- China
- Prior art keywords
- bmc
- hard disk
- work
- initialization
- mainboard
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种实现硬盘初始化的方法、装置和系统。在本发明中,通过将共用同一内部集成电路I2C总线进行初始化的所有硬盘进行复位,然后逐一释放各个硬盘,使各个硬盘逐一进行初始化的技术方案,使得共用同一I2C总线的多个硬盘实现初始化,而不会产生竞争。
Description
技术领域
本发明涉及计算机系统技术领域,尤其涉及一种实现硬盘初始化的方法、装置和系统。
背景技术
硬盘的初始化是指:在硬盘的复位信号有效,即在复位信号产生从低电平到高电平的上升沿时,将预先保存在电可擦写可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)中的硬盘配置字载入到硬盘的工作芯片中。
图1是现有技术中硬盘初始化的过程示意图。如图1所示,在硬盘的复位信号产生从低电平到高电平的上升沿时,预先保存在EEPROM中的硬盘配置字被载入到连接硬盘的工作芯片中,并且载入过程通过内部集成电路总线(I2C,Inter-Integrated Circuit)完成,即EEPROM中的硬盘配置字通过I2C总线载入到硬盘的工作芯片中。
当一个I2C总线下存在多个硬盘且多个硬盘同时进行初始化时,会产生多个硬盘竞争一个I2C总线的情况。此时,多个硬盘同时通过I2C总线载入配置字,使得I2C总线的数据传输产生混乱,I2C通信失败,进而硬盘初始化失败。
发明内容
有鉴于此,本发明提供了一种实现硬盘初始化的方法,该方法使得共用同一I2C总线的多个硬盘实现初始化,而不会产生竞争。
本发明提供了一种实现硬盘初始化的装置,该装置使得共用同一I2C总线的多个硬盘实现初始化,而不会产生竞争。
本发明还提供了两种实现硬盘初始化的系统,这两种系统都能够使得共用同一I2C总线的多个硬盘实现初始化,而不会产生竞争。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明公开了一种实现硬盘初始化的方法,该方法包括:
将共用同一内部集成电路I2C总线进行初始化的所有硬盘进行复位;
根据初始化所述所有硬盘中的各个硬盘所需的时间,逐一释放所述各个硬盘,使所述各个硬盘逐一进行初始化,且同一时间只有一个硬盘进行初始化。
本发明公开了一种实现硬盘初始化的装置,该装置包括:复位模块和释放模块,其中,
复位模块,用于将共用同一I2C总线进行初始化的所有硬盘进行复位,并在完成复位后向释放模块发送指示信息;
释放模块,用于在接收到复位模块发送的指示信息后,根据初始化所述共用同一I2C总线进行初始化的各个硬盘所需的时间,逐一释放所述共用同一I2C总线进行初始化的各个硬盘,使所述共用同一I2C总线进行初始化的各个硬盘逐一进行初始化,且同一时间只有一个硬盘进行初始化。
本发明公开了一种实现硬盘初始化的系统,该系统包括两个BMC,用于相互进行通信,并从两者之间协商出一个工作BMC;
所述工作BMC,用于将共用同一I2C总线进行初始化的所有硬盘进行复位,并根据初始化所述共用同一I2C总线进行初始化的各个硬盘所需的时间,逐一释放所述共用同一I2C总线进行初始化的各个硬盘,使所述共用同一I2C总线进行初始化的各个硬盘逐一进行初始化。
本发明还公开了一种实现硬盘初始化的系统,该系统包括两个BMC和主板上电信息记录模块,其中,
主板上电信息记录模块,用于记录所述两个BMC所在的两个主板的上电信息;
所述两个BMC,用于查询主板上电信息记录模块中的主板上电信息,并根据查询结果从两者之间确定出一个工作BMC;
所述工作BMC,用于将共用同一I2C总线进行初始化的所有硬盘进行复位,并根据初始化所述共用同一I2C总线进行初始化的各个硬盘所需的时间,逐一释放所述共用同一I2C总线进行初始化的各个硬盘,使所述共用同一I2C总线进行初始化的各个硬盘逐一进行初始化。
由上述技术方案可见,本发明这种将共用同一内部集成电路I2C总线进行初始化的所有硬盘进行复位,然后逐一释放各个硬盘,使各个硬盘逐一进行初始化的技术方案使得共用同一I2C总线的多个硬盘实现初始化,而不会产生竞争。
附图说明
图1是现有技术中硬盘初始化的过程示意图;
图2是本发明一种实现硬盘初始化的方法的流程图;
图3是本发明一种实现硬盘初始化的方法的具体实施例流程图
图4是本发明双机通信握手算法的流程图;
图5是本发明一种实现硬盘初始化的装置的结构框图;
图6是本发明一种实现硬盘初始化的系统的结构框图;
图7是本发明又一种实现硬盘初始化的系统的结构框图。
具体实施方式
图2是本发明一种实现硬盘初始化的方法的流程图。如图2所示,包括以下步骤:
步骤201,将共用同一I2C总线进行初始化的所有硬盘进行复位。
步骤202,逐一释放各个硬盘,使各个硬盘逐一进行初始化。
本步骤中,可以根据初始化每个硬盘所需的时间,逐一释放各个硬盘,保证同一时间只有一个硬盘进行初始化。
上述流程中所述的方法可以对同一个I2C总线下的多个硬盘实现初始化,而不会出现竞争。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举较佳实施例,对本发明进一步详细说明。
图3是本发明一种实现硬盘初始化的方法的具体实施例流程图。在本实施例中,将共用同一I2C总线进行初始化的所有硬盘进行复位,并逐一释放硬盘的工作由主板管理控制器(BMC,Board Management Controller)软件来完成,如图3所示,包括以下步骤:
步骤301,BMC启动。
步骤302,BMC判断自身所在主板是否上电,是则执行步骤303,否则重复执行步骤302。
步骤303,BMC将所述上电主板所控制系统中的共用同一I2C总线进行初始化的所有硬盘进行复位。在本实施例中,共用同一I2C总线进行初始化的硬盘总数为自然数N。
在本步骤中,BMC将所有硬盘进行复位具体是将所有硬盘的复位信号变为低电平,即复位信号是低电平有效。
步骤304,BMC对所复位的所有硬盘从1开始编号,并设变量i=1。
步骤305,BMC释放第i个硬盘。
本步骤中,BMC释放第i个硬盘具体是控制第i个硬盘的复位信号变为高电平,即复位信号高电平无效。此时,第i个硬盘的复位信号产生低电平到高电平的上升沿,因此第i个硬盘进行初始化。
步骤306,BMC等待第i个硬盘完成初始化后执行步骤307。
本步骤中,BMC可以预先保存每个硬盘初始化所需的时间,然后根据所保存的时间判断每个硬盘完成初始化的时间。
步骤307,BMC判断是否所有的硬盘都已完成初始化,即BMC判断i是否等于N,是则结束本流程,否则执行步骤308。
步骤308,BMC令i=i+1,并返回步骤305。
在图3所示的流程中由BMC软件来完成对共用同一I2C总线进行初始化的所有硬盘进行复位,然后逐一释放的工作。此外,对共用同一I2C总线进行初始化的所有硬盘进行复位,然后逐一释放的工作还可以由硬件逻辑来实现,例如对复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)进行编程设计,使其能够完成对共用同一I2C总线进行初始化的所有硬盘进行复位,然后逐一释放硬盘进行初始化的工作,具体流程同图3,只需将BMC替换为CPLD即可。
前面的实施例中由BMC执行对共用同一I2C总线进行初始化的所有硬盘的复位和释放操作。但在实际当中,一个系统中存在双主板的情况,在双主板控制的系统下,两块主板上的两个BMC都可以控制硬盘的复位和释放操作。这时,如果两个BMC都对硬盘进行复位和释放的操作,则会使得硬盘的初始化过程变得混乱。因此,只能由其中的一个主板的BMC来执行复位和释放的操作,即需要在双主控系统中选出一个主板的BMC来完成多个硬盘的初始化工作,另一个主板的BMC只需等待所有硬盘的初始化完成即可。这实质上是一个双主控板相互竞争一个临界资源的问题,在本发明中,该临界资源是解除硬盘复位信号的权利。
在本发明中,使用BMC之间的双机通信,通过交互握手信息来实现一个信号量加锁的机制,即通过两个BMC之间的双机通信握手算法从两个BMC中选出一个工作BMC,再由该工作BMC来完成如图3所示的对多硬盘进行初始化的工作。
图4是本发明双机通信握手算法的流程图。如图4所示,包括以下步骤:
步骤401,本BMC在自身所在主板上电后,启动双机通信握手算法,清除信号标识。
步骤402,本BMC告诉对方BMC自身无信号标识,并询问对方BMC是否有信号标识。
在本步骤中,如果本BMC没有收到对方BMC返回的信息,则可以确定对方BMC所在的主板还没有上电,由本BMC作为工作BMC来执行初始化硬盘的工作;如果本BMC收到了对方BMC返回的信息,则执行以下的步骤。
步骤403,本BMC根据对方BMC返回的信息判断对方BMC是否有信号标识,是则执行步骤408,否则执行步骤404。
步骤404,本BMC设置信号标识,并告诉对方BMC自身有信号标识,同时询问对方BMC是否有信号标识。
步骤405,本BMC根据对方BMC返回的信息判断对方BMC是否有信号标识,是则执行步骤406,否则执行步骤407。
步骤406,本BMC延迟预定长度的时间后返回步骤401。
步骤407,本BMC在竞争中胜出,成为工作BMC,即由本BMC来执行对共用同一I2C总线进行初始化的所有硬盘进行复位和释放的操作。
步骤408,对方BMC在竞争中胜出,成为工作BMC,即由对方BMC来执行对共用同一I2C总线进行初始化的所有硬盘进行复位和释放的操作。
图4给出了一个BMC执行双机通信握手算法的流程。在本发明的双机通信握手算法中,两个BMC是两个对等实体,即两个BMC都可以执行图4所示的流程,并且两个BMC也可能同时执行图4所示的流程。因此,为了保证两个BMC同时执行图4所示的算法时,不会出现无休止的协商过程,本发明实施例中,对于两个BMC分别设置不同的延迟时间,即两个BMC在各自执行双机通信握手算法时,步骤406中的延迟时间长度不同。
通过图4所示的算法,相互产生竞争的两个BMC可以协商出一个工作BMC来完成对共用同一I2C总线的多个硬盘的初始化工作。
此外,还可以在双主控系统中利用硬件逻辑记录双主板的上电信息,双主板的两个BMC通过查询硬件逻辑记录的双主板的上电信息,确定自身是否为工作BMC。例如,本BMC从记录双主板上电信息的硬件逻辑查询两个主板中的哪个主板先上电,如果本BMC所在的主板先上电,则由本BMC完成复位所有硬盘,然后逐一释放硬盘的工作;如果对方主板先上电,则本板只需等待对方BMC完成硬盘初始化的工作即可。
基于上述方法实施例,接下来给出本发明实现硬盘初始化的装置和系统的结构框图。
图5是本发明一种实现硬盘初始化的装置的结构框图。如图5所示,该装置包括:复位模块501和释放模块502。
在图5中,复位模块501,用于将共用同一I2C总线进行初始化的所有硬盘进行复位,并在完成复位后向释放模块502发送指示信息;
释放模块502,用于在接收到复位模块501发送的指示信息后,根据初始化所述各个硬盘所需的时间,逐一释放各个硬盘,使各个硬盘逐一进行初始化。
图6是本发明一种实现硬盘初始化的系统的结构框图。如图6所示,该系统包括两个BMC,用于相互进行通信,并从两者之间协商出一个工作BMC;所协商出的工作BMC,用于将共用同一I2C总线进行初始化的所有硬盘进行复位,并根据初始化所述各个硬盘所需的时间,逐一释放各个硬盘,使各个硬盘逐一进行初始化。
图7是本发明又一种实现硬盘初始化的系统的结构框图。如图7所示,该系统包括两个BMC和一个主板上电信息记录模块。
在图7中,主板上电信息记录模块,用于记录所述两个BMC所在的两个主板的上电信息。两个BMC,用于查询主板上电信息记录模块中的主板上电信息,并根据查询结果从两者之间确定出一个工作BMC;工作BMC,用于将共用同一I2C总线进行初始化的所有硬盘进行复位,并根据初始化所述各个硬盘所需的时间,逐一释放各个硬盘,使各个硬盘逐一进行初始化。
综上所述本发明这种将共用同一内部集成电路I2C总线进行初始化的所有硬盘进行复位,然后逐一释放各个硬盘,使各个硬盘逐一进行初始化的技术方案,使得共用同一I2C总线的多个硬盘实现初始化,而不会产生竞争。并且在双主板控制的系统中,通过双机通信握手算法或利用硬件逻辑进行指示的方式从两个的BMC之间选出一个工作BMC的技术方案,解决了两个BMC竞争一个临界资源的问题。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种实现硬盘初始化的方法,其特征在于,应用在双主板控制系统中,该方法包括:
从所述双主板的两个主板管理控制器BMC中选择一个工作BMC,工作BMC将共用同一内部集成电路I2C总线进行初始化的所有硬盘进行复位;
根据初始化所述所有硬盘中的各个硬盘所需的时间,工作BMC逐一释放所述各个硬盘,使所述各个硬盘逐一进行初始化,且同一时间只有一个硬盘进行初始化。
2.如权利要求1所述的方法,其特征在于,
所述工作BMC将共用同一内部集成电路I2C总线进行初始化的所有硬盘进行复位包括:将所述所有硬盘的复位信号变更为有效;
所述工作BMC逐一释放各个硬盘包括:逐一将所述各个硬盘的复位信号变更为无效。
3.如权利要求1所述的方法,其特征在于,从所述双主板的两个BMC中选择一个工作BMC包括:利用硬件逻辑记录所述双主板的上电信息,所述双主板中的每个BMC通过查询硬件逻辑记录的双主板的上电信息,确定自身是否为工作BMC。
4.如权利要求3所述的方法,其特征在于,所述双主板中的每个BMC通过查询硬件逻辑记录的双主板的上电信息,确定自身是否为工作BMC包括:每个BMC根据硬件逻辑记录的双主板的上电信息判断自身所在的主板是否比对方BMC所在的主板先上电,是则该BMC确定自身为工作BMC;否则确定自身不是工作BMC。
5.如权利要求1所述的方法,其特征在于,从所述双主板的两个BMC中选择一个工作BMC包括:所述两个BMC相互进行通信,并从两者之间协商出一个工作BMC。
6.如权利要求5所述的方法,其特征在于,所述两个BMC是通过双机通信握手算法从两者之间协商出一个工作BMC的。
7.如权利要求6所述的方法,其特征在于,所述双机通信握手算法具体是BMC执行以下的流程:
该BMC清除信号标识,并告诉对方BMC自身无信号标识,同时询问对方BMC是否有信号标识;如果该BMC没有收到对方BMC返回的信息,则本BMC为工作BMC,结束本流程,如果该BMC接收到了对方BMC返回的信息,则执行接下来的步骤;
该BMC根据对方BMC返回的信息判断对方BMC是否有信号标识,是则对方BMC为工作BMC,结束本流程;否则执行接下来的步骤;
该BMC设置信号标识,并告诉对方BMC自身有信号标识,同时询问对方BMC是否有信号标识;
该BMC根据对方BMC返回的信息判断对方BMC是否有信号标识,是则在延迟预定长度的时间后重新执行本流程;否则本BMC为工作BMC,结束本流程。
8.如权利要求7所述的方法,其特征在于,所述两个BMC都执行所述双机通信握手算法时,将所述两个BMC使用的用于延迟的预定长度的时间设置为不同,以保证双机通信握手算法的结束。
9.一种实现硬盘初始化的系统,其特征在于,该系统包括两个BMC,用于相互进行通信,并从两者之间协商出一个工作BMC;
所述工作BMC,用于将共用同一I2C总线进行初始化的所有硬盘进行复位,并根据初始化所述共用同一I2C总线进行初始化的各个硬盘所需的时间,逐一释放所述共用同一I2C总线进行初始化的各个硬盘,使所述共用同一I2C总线进行初始化的各个硬盘逐一进行初始化。
10.一种实现硬盘初始化的系统,其特征在于,该系统包括两个BMC和主板上电信息记录模块,其中,
主板上电信息记录模块,用于记录所述两个BMC所在的两个主板的上电信息;
所述两个BMC,用于查询主板上电信息记录模块中的主板上电信息,并根据查询结果从两者之间确定出一个工作BMC;
所述工作BMC,用于将共用同一I2C总线进行初始化的所有硬盘进行复位,并根据初始化所述共用同一I2C总线进行初始化的各个硬盘所需的时间,逐一释放所述共用同一I2C总线进行初始化的各个硬盘,使所述共用同一I2C总线进行初始化的各个硬盘逐一进行初始化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101760543A CN101135954B (zh) | 2007-10-18 | 2007-10-18 | 一种实现硬盘初始化的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101760543A CN101135954B (zh) | 2007-10-18 | 2007-10-18 | 一种实现硬盘初始化的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101135954A CN101135954A (zh) | 2008-03-05 |
CN101135954B true CN101135954B (zh) | 2010-11-03 |
Family
ID=39160067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101760543A Expired - Fee Related CN101135954B (zh) | 2007-10-18 | 2007-10-18 | 一种实现硬盘初始化的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101135954B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108845899B (zh) * | 2018-05-29 | 2021-05-25 | 郑州云海信息技术有限公司 | 一种m.3 ssd上电初始化的方法及系统 |
-
2007
- 2007-10-18 CN CN2007101760543A patent/CN101135954B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101135954A (zh) | 2008-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106557340B (zh) | 一种配置方法及装置 | |
KR102542562B1 (ko) | 모듈화된 불휘발성 플래시 메모리 블레이드 | |
US7206875B2 (en) | Expander device capable of persistent reservations and persistent affiliations | |
US9471234B2 (en) | Systems and methods for mirroring virtual functions in a chassis configured to receive a plurality of modular information handling systems and a plurality of modular information handling resources | |
US20070094472A1 (en) | Method for persistent mapping of disk drive identifiers to server connection slots | |
US9092022B2 (en) | Systems and methods for load balancing of modular information handling resources in a chassis | |
TWI334543B (en) | Method of scheduling tasks in computer systems architectures, apparatus for implementing task scheduling, and computing system | |
US10331520B2 (en) | Raid hot spare disk drive using inter-storage controller communication | |
TW201802697A (zh) | 快速週邊組件互連卡 | |
US10372639B2 (en) | System and method to avoid SMBus address conflicts via a baseboard management controller | |
US20140006676A1 (en) | Systems and methods for dynamic allocation of information handling resources | |
CN100368957C (zh) | 一种多io扩展接口的服务器主板装置 | |
US10592285B2 (en) | System and method for information handling system input/output resource management | |
CN103649923A (zh) | 一种numa系统内存镜像配置方法、解除方法、系统和主节点 | |
US9772652B2 (en) | Systems and methods for distributing and synchronizing real-time clock | |
US6801970B2 (en) | Priority transaction support on the PCI-X bus | |
US20150293865A1 (en) | Restore PCIe Transaction ID On The Fly | |
US20140149658A1 (en) | Systems and methods for multipath input/output configuration | |
CN101135954B (zh) | 一种实现硬盘初始化的方法、装置和系统 | |
US11164607B2 (en) | Identification of storage resources in multiple domains | |
WO2023016379A1 (zh) | 计算机系统、基于PCIe设备的控制方法及相关设备 | |
JP4359618B2 (ja) | コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品 | |
CN108733479B (zh) | 卸载固态硬盘卡的方法以及使用该方法的装置 | |
US20220342835A1 (en) | Method and apparatus for disaggregation of computing resources | |
US11467780B1 (en) | System and method for automatic identification and bios configuration of drives in a backplane |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
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: 20101103 Termination date: 20201018 |