CN113190170B - 一种硬盘槽位排列方法、装置、存储介质及电子设备 - Google Patents
一种硬盘槽位排列方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113190170B CN113190170B CN202110340839.XA CN202110340839A CN113190170B CN 113190170 B CN113190170 B CN 113190170B CN 202110340839 A CN202110340839 A CN 202110340839A CN 113190170 B CN113190170 B CN 113190170B
- Authority
- CN
- China
- Prior art keywords
- controller
- hard disk
- slot
- server
- controllers
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004891 communication Methods 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 230000005856 abnormality Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 2
- 101150039033 Eci2 gene Proteins 0.000 description 1
- 102100021823 Enoyl-CoA delta isomerase 2 Human genes 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种硬盘槽位分配方法、装置、存储介质及电子设备,该方法包括:接收第一控制器依次确定的每一第二控制器所挂载的硬盘的起始槽位标识;根据起始槽位标识,为第二控制器所挂载的硬盘分配槽位;其中,第一控制器配置于服务器的主板上,第二控制器配置于服务器的硬盘背板上;第一控制器与每一个第二控制器通过指定类型接口进行连接;第一控制器与第二控制器为两种不同类型的控制器。由此,在服务器加载系统完成扫描和计算的同时,利用主板控制器确定对每一背板控制器挂载硬盘的起始槽位标识,以完成硬盘的槽位分配。有效避免服务器系统加载过程出现异常带来的硬盘槽位信息计算错误,并节约硬盘槽位分配的计算时间,显著提高服务器性能。
Description
技术领域
本发明涉及服务器技术领域,尤其涉及一种硬盘槽位排列方法、装置、计算机可读存储介质及电子设备。
背景技术
在服务器平台中,每一块硬盘均应配置一个独立的物理槽位信息(Slot ID),以在系统中进行正确的管理。如果所有硬盘均位于同一背板上,则可以由背板基于特定机制实现物理槽位的分配。但如果需要装配多块背板,不同背板上的硬盘的物理槽位分配则会出现重复。此时,需要给每一个背板分配特定的Start Slot ID(起始槽位标识),以使得每个背板均能够为其所挂载的硬盘分配槽位信息,并且保证多个背板之间的硬盘槽位信息不重复。
目前,采用由服务器平台的基板管理控制器给每一个背板分配特定的Start SlotID,例如:BMC(Baseboard Manager Controller,服务器平台的基板管理控制器型号)或者XCC(X Clarity Controller,服务器平台的基板管理控制器型号)。虽然其实现方式灵活,但也有一定的局限性,例如:基板管理控制器需要首先执行加载服务器系统等相关操作,然后再为每一背板分配特定的Start Slot ID。加载服务器系统等操作需要几分钟甚至十几分钟的时间,启动较慢。并且一旦BMC/XCC出现异常,将会导致硬盘槽位信息计算错误。
发明内容
本发明提供一种硬盘槽位分配方法、装置、计算机可读存储介质及电子设备。
根据本发明第一方面,提供了一种硬盘槽位分配方法,所述方法包括:接收第一控制器依次确定的每一所述第二控制器所挂载的硬盘的起始槽位标识;根据所述起始槽位标识,为所述第二控制器所挂载的硬盘分配槽位;其中,所述第一控制器配置于所述服务器的主板上,所述第二控制器配置于所述服务器的硬盘背板上;所述第一控制器与每一个所述第二控制器通过指定类型接口进行连接;所述第一控制器与所述第二控制器为两种不同类型的控制器。
根据本发明一实施方式,所述第一控制器采用以下操作步骤,依次确定每一所述第二控制器所挂载的硬盘的起始槽位标识:依次确定所述指定接口的通信链路上所挂载的每一个第二控制器是否在位;在第二控制器在位时,确定所述第二控制器所挂载的硬盘数量;确定所述若干个第二控制器的物理线路顺序;根据所述硬盘数量和所述物理线路顺序,依次确定所述第二控制器所挂载的硬盘的起始槽位标识。
根据本发明一实施方式,所述确定所述指定接口链路上所挂载的每一个第二控制器是否在位,包括:通过与所述指定接口的通信协议相适配的指令,扫描所述通信链路上挂在的第二控制器是否在位。
根据本发明一实施方式,所述在第二控制器在位时,确定所述第二控制器所挂载的硬盘数量,包括:读取所述第二控制器的指定寄存器,获取所述第二控制器上挂载的硬盘数量。
根据本发明一实施方式,所述根据所述硬盘数量和所述物理线路顺序,依次确定所述第二控制器所挂载的硬盘的起始槽位标识,包括:根据所述物理线路顺序,对所述若干个第二控制器进行排序;将排序位于第一顺位的第二控制器的起始槽位标识赋值为0;将排序位于第二顺位的第二控制器的起始槽位标识赋值为排序位于第一顺位的第二控制器的硬盘数量的值;如此,根据所述物理线路顺序,依次将排序位于第n+1顺位的第二控制器的起始槽位标识赋值为排序位于第n顺位的第二控制器的硬盘数量的值,其中,n为正整数。
根据本发明一实施方式,所述第二控制器根据所述起始槽位标识,为所述第二控制器所挂载的硬盘分配槽位,包括:确定所述第二控制器所挂载的硬盘的位置信息;根据初始槽位标识和位置信息,生成硬盘的物理槽位号;将所述物理槽位号发送至所述第一控制器;接收所述第一控制器根据所述物理槽位号生成的所述物理槽位号与逻辑号之间的映射关系,其中,所述逻辑号为硬盘在所述服务器上被分配的逻辑编号。
根据本发明一实施方式,所述第一控制器为服务器主板的FPGA芯片;所述第二控制器为服务器背板的CPLD芯片;所述指定类型接口为I2C接口。
根据本发明第二方面,又提供了一种硬盘槽位分配装置,所述装置包括:起始槽位获取模块,用于接收第一控制器依次确定的每一所述第二控制器所挂载的硬盘的起始槽位标识;槽位分配模块,用于根据所述起始槽位标识,为所述第二控制器所挂载的硬盘分配槽位;其中,所述第一控制器配置于所述服务器的主板上,所述第二控制器配置于所述服务器的硬盘背板上,所述第一控制器与每一个所述第二控制器通过指定类型接口进行连接。
根据本发明第三方面,又提供了一种计算机可读存储介质,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行上述硬盘槽位分配方法。
根据本发明第四方面,又提供了一种电子设备,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述硬盘槽位分配方法。
本发明实施例硬盘槽位分配方法方法、装置、计算机可读存储介质及电子设备,接收第一控制器依次确定的每一所述第二控制器所挂载的硬盘的起始槽位标识;根据所述起始槽位标识,为所述第二控制器所挂载的硬盘分配槽位;其中,所述第一控制器配置于所述服务器的主板上,所述第二控制器配置于所述服务器的硬盘背板上;所述第一控制器与每一个所述第二控制器通过指定类型接口进行连接;所述第一控制器与所述第二控制器为两种不同类型的控制器。由此,可以在服务器加载系统完成扫描和计算的同时,利用主板控制器来确定对每一背板控制器挂载硬盘的起始槽位标识,并进一步由每一背板控制器完成对其挂载的硬盘的槽位分配。有效避免了服务器系统加载过程中出现异常带来的硬盘槽位信息计算错误,并节约硬盘槽位分配的计算时间,显著提高服务器性能。
需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本发明实施例硬盘槽位分配方法的应用场景示意图;
图2示出了本发明实施例硬盘槽位分配方法的实现流程示意图;
图3示出了本发明实施例硬盘槽位分配方法的实现原理示意图;
图4示出了本发明实施例硬盘槽位分配装置的组成结构示意图;
图5示出了本发明实施例电子设备的组成结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为使本发明更加透彻和完整,并能够将本发明的范围完整地传达给本领域的技术人员。
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
图1示出了本发明实施例硬盘槽位分配方法的应用场景示意图;
参考图1,在本发明这一实施例中,服务器上装配三块背板,每一背板上配置8块硬盘。在服务器启动时,需要为每一块硬盘均应配置一个独立的物理Slot ID(槽位信息),以使得服务器系统运行中能够对硬盘进行正确的管理。每一背板的背板控制器能够基于特定机制对配置在该背板上的硬盘进行物理槽位分配。但是,整个服务器系统中,所有背板上的每一硬盘的槽位信息需要是唯一的,才能够实现服务器系统对硬盘的正确管理和应用。因此,需要为每一背板上的硬盘确定一个起始槽位标识,以保证服务器系统中每一硬盘的槽位信息都是唯一的。
为了有效减小采用服务器系统加载过程中为每一背板的硬盘确定起始槽位信息所带来的服务器系统启动延时,并避免在服务器系统加载过程中出现异常导致硬盘信息计算错误,例如:BMC(服务器系统名称)和XCC(服务器系统名称),这里采用主板控制器与每一背板之间进行通信的方式,利用主板控制器为每一背板上的硬盘确定一个起始槽位标识,并进一步由背板控制器为相应的背板上挂载的硬盘分配槽位信息。
在本发明这一实施例中,服务器的BIOS(Basic Input Output System,基本输入输出系统)启动过程中,配置在主板上的主控制器可以与背板控制器配合完成硬盘槽位分配。这里主板上的主控制器可以是FPGA,背板上的控制器可以是CPLD,服务器系统可以是配置在服务器CPU(Central Processing Unit,中央处理器)上。FPGA的启动时间通常为毫秒级,而服务器系统完成整个服务器的扫描及计算通常为百毫秒级。由此,在BIOS加载过程中,服务器系统BMC/XCC可以并行同步启动,从而有效缩短服务器启动时间,并使得每一硬盘的槽位信息的唯一性,进一步减少服务器故障点,保证硬盘槽位信息的准确性和RAID(redundant array of independent disks,独立磁盘冗余阵列)和NVME VMD(Non-Volatile Memory express,非易失性内存主机控制器接口规范)在正常工作机制下运行,显著提升服务器性能。
图2示出了本发明实施例硬盘槽位分配方法的实现流程示意图。
参考图2,本发明实施例硬盘槽位分配方法,至少包括如下操作流程:操作201,接收第一控制器依次确定的每一第二控制器所挂载的硬盘的起始槽位标识;操作202,根据起始槽位标识,为第二控制器所挂载的硬盘分配槽位;其中,第一控制器配置于服务器的主板上,第二控制器配置于服务器的硬盘背板上;第一控制器与每一个第二控制器通过指定类型接口进行连接;第一控制器与第二控制器为两种不同类型的控制器。
在操作201,接收第一控制器依次确定的每一第二控制器所挂载的硬盘的起始槽位标识。
在本发明这一实施例中,第一控制器配置于服务器的主板上,第二控制器配置于服务器的硬盘背板上;第一控制器与每一个第二控制器通过指定类型接口进行连接;第一控制器与第二控制器为两种不同类型的控制器。
在本发明这一实施例中,第一控制器为服务器主板的FPGA芯片;第二控制器为服务器背板的CPLD芯片,这里背板可以有一个,也可以有多个,每一个背板上可以配置一个CPLD芯片,每一个背板上可以挂载多个硬盘。指定类型接口为可以是I2C接口。
在本发明这一实施例中,第一控制器采用以下操作步骤,依次确定每一第二控制器所挂载的硬盘的起始槽位标识:依次确定指定接口的通信链路上所挂载的每一个第二控制器是否在位;在第二控制器在位时,确定第二控制器所挂载的硬盘数量;确定若干个第二控制器的物理线路顺序;根据硬盘数量和物理线路顺序,依次确定第二控制器所挂载的硬盘的起始槽位标识。
在本发明这一实施例中,第一控制器可以通过与指定接口的通信协议相适配的指令,扫描通信链路上挂在的第二控制器是否在位,从而确定指定接口链路上所挂载的每一个第二控制器是否在位。
在本发明这一实施例中,在第二控制器在位时,读取第二控制器的指定寄存器,获取第二控制器上挂载的硬盘数量,由此,依次确定每一个第二控制器所挂载的硬盘数量。
举例说明,服务器主板的FPGA芯片与服务器背板的CPLD芯片通过I2C协议通信,采用符合I2C协议的指令,通过通用的检测与FPGA通信的CPLD是否在位的指令,扫描与FPGA通信的CPLD是否在位。如果CPLD在位,则通过读取信息的指令,读取CPLD芯片中指定寄存器中用于示出CPLD挂载的硬盘数量的信息。
在本发明这一实施例中,通过以下操作步骤实现根据硬盘数量和物理线路顺序,依次确定第二控制器所挂载的硬盘的起始槽位标识:根据物理线路顺序,对若干个第二控制器进行排序;将排序位于第一顺位的第二控制器的起始槽位标识赋值为0;将排序位于第二顺位的第二控制器的起始槽位标识赋值为排序位于第一顺位的第二控制器的硬盘数量的值;如此,根据物理线路顺序,依次将排序位于第n+1顺位的第二控制器的起始槽位标识赋值为排序位于第n顺位的第二控制器的硬盘数量的值,其中,n为正整数。
这里,物理线路顺序就是硬盘与控制器之间的物理线路的顺序。每一第二控制器需要通过I2C总线与第一控制器相连接,与第一控制器连接的多个第二控制器具有确定的物理线路顺序。例如:服务器的背板上有8个CPLD均与主板上的主控制器FPGA连接,8个CPLD的编号分别为C1、C2……C8,编号与C1、C2……C8的8个CPLD与FPGA连接的物理线路顺序编号分别为1、2……8。如果8个CPLD均在位,并且编号C1、C3和C6的CPLD所挂载的硬盘数量均为16,其他的CPLD挂载的硬盘数量均为8,则FPGA可以确定编号为C1的CPLD所挂载的硬盘的的起始槽位标识为0,编号为C2的CPLD所挂载的硬盘的起始槽位标识为16,编号为C3的CPLD所挂载的硬盘的起始槽位标识为24,编号为C4的CPLD所挂载的硬盘的起始槽位标识为40,编号为C5的CPLD所挂载的硬盘的起始槽位标识为48,编号为C6的CPLD所挂载的硬盘的起始槽位标识为56,编号为C7的CPLD所挂载的硬盘的起始槽位标识为72,编号为C8的CPLD所挂载的硬盘的起始槽位标识为80。FPGA将确定的每一CPLD所挂载的硬盘的起始槽位标识写入该CPLD。
在操作202,根据起始槽位标识,为第二控制器所挂载的硬盘分配槽位。
在本发明这一实施例中,第二控制器通过以下操作步骤实现根据起始槽位标识,为第二控制器所挂载的硬盘分配槽位:确定第二控制器所挂载的硬盘的位置信息;根据初始槽位标识和位置信息,生成硬盘的物理槽位号;将物理槽位号发送至第一控制器;接收第一控制器根据物理槽位号生成的物理槽位号与逻辑号之间的映射关系,其中,逻辑号为硬盘在服务器上被分配的逻辑编号。
这里,每一个硬盘与CPLD之间可以通过PECI总线连接,硬盘与CPLD连接之后,两者的相对位置编号是确定的,也就是说硬盘与CPLD之间的物理线路顺序是确定的,可以根据物理线路的顺序,确定每一硬盘的位置信息。
举例说明,通过操作201确定的背板上的其中一个CPLD所挂载的硬盘的起始槽位标识为16。该CPLD下挂载的硬盘数量为8,8个硬盘的在该CPLD下挂载位置编号分别为Y1、Y2……Y8。则可以确定编号为Y1的硬盘的物理槽位号为16、编号为Y2的硬盘的物理槽位号为17、编号为Y3的硬盘的物理槽位号为18、编号为Y4的硬盘的物理槽位号为19、编号为Y4的硬盘的物理槽位号为20、编号为Y6的硬盘的物理槽位号为21、编号为Y7的硬盘的物理槽位号为22、编号为Y8的硬盘的物理槽位号为23。
FPGA根据物理槽位号生成的物理槽位号与逻辑号之间的映射关系,逻辑号为硬盘在服务器上被分配的逻辑编号,物理槽位号与逻辑号之间的映射关系可以是预先确定的。由此,每一CPLD中至少保存该CPLD所挂载的硬盘物理槽位号与逻辑号的映射关系,保证后续服务器系统BMC/XCC与CPLD通过I2C协议进行通信时,能够正常在硬盘中写入或读取数据。
图3示出了本发明实施例硬盘槽位分配方法的实现原理示意图。
参考图3,服务器的主板301上的控制器FPGA控制器用于确定背板302上控制器CPLD所挂载的硬盘的起始槽位标识。主板301上配置的FPGA通过I2C总线接入CPLD的寄存器,背板302上的CPLD的访问链路为I2C接口。同时,在服务器系统正常工作状态下,BMC(服务器系统名称)同样需要通过此I2C物理链路访问CPLD或背板302上其它I2C设备,因此BMC还负责BMC根据需要对CPLD的通信链路进行仲裁,确定CPLD和BMC之间的通信链路通路,还是CPLD与FPGA间的通信链路通路。
需要说明的是,服务器可以包括多个背板302,每一个背板302页可以挂载多个硬盘,图3中仅示出了服务器中主板301和背板302配合实现对硬盘槽位分配的基本原理,并不用于对本发明实施例形成限制。
FPGA启动后,通过I2C指令扫描背板302通信链路上挂载的CPLD是否在位。若CPLD在位,通过读取指定寄存器,获得CPLD挂载的硬盘数量。并继续扫描下一个CPLD,依次获得各个CPLD上挂载的硬盘数量。
最后,FPGA基于背板302上所连接的CPLD的物理线路上的顺序定义,第一顺位的CPLD的Start Slot ID(起始槽位标识)赋值为0,第一顺位也就是物理线路上位于最前位置CPLD。第二顺位的CPLD的Start Slot ID等于第一顺位的CPLD的Start Slot ID加上其挂载的硬盘数量。第三顺位的CPLD的Start Slot ID等于第二顺位的CPLD的Start Slot ID加上其挂载的硬盘数量。以此类推,计算出每个CPLD的Start Slot ID值。并在确定每个CPLD所挂载的硬盘的起始槽位标识时,向各个CPLD依次写入其对应的Start Slot ID值。
本发明实施例硬盘槽位分配方法方法、设备、计算机可读存储介质及电子设备,接收第一控制器依次确定的每一第二控制器所挂载的硬盘的起始槽位标识;根据起始槽位标识,为第二控制器所挂载的硬盘分配槽位;其中,第一控制器配置于服务器的主板上,第二控制器配置于服务器的硬盘背板上;第一控制器与每一个第二控制器通过指定类型接口进行连接;第一控制器与第二控制器为两种不同类型的控制器。由此,可以在服务器加载系统完成扫描和计算的同时,利用主板控制器来确定对每一背板控制器挂载硬盘的起始槽位标识,并进一步由每一背板控制器完成对其挂载的硬盘的槽位分配。有效避免了服务器系统加载过程中出现异常带来的硬盘槽位信息计算错误,并节约硬盘槽位分配的计算时间,显著提高服务器性能。
同理,基于上文硬盘槽位分配方法,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有程序,当程序被处理器执行时,使得处理器至少执行如下的操作步骤:操作201,接收第一控制器依次确定的每一第二控制器所挂载的硬盘的起始槽位标识;操作202,根据起始槽位标识,为第二控制器所挂载的硬盘分配槽位;其中,第一控制器配置于服务器的主板上,第二控制器配置于服务器的硬盘背板上;第一控制器与每一个第二控制器通过指定类型接口进行连接;第一控制器与第二控制器为两种不同类型的控制器。
进一步,基于如上文硬盘槽位分配方法,本发明实施例还提供一种硬盘槽位分配装置,如图4,该装置40包括:起始槽位获取模块401,用于接收第一控制器依次确定的每一第二控制器所挂载的硬盘的起始槽位标识;槽位分配模块402,用于根据起始槽位标识,为第二控制器所挂载的硬盘分配槽位;其中,第一控制器配置于服务器的主板上,第二控制器配置于服务器的硬盘背板上,第一控制器与每一个第二控制器通过指定类型接口进行连接。
在本发明这一实施例中,第一控制器采用以下操作步骤,依次确定每一第二控制器所挂载的硬盘的起始槽位标识,包括:依次确定指定接口的通信链路上所挂载的每一个第二控制器是否在位;在第二控制器在位时,确定第二控制器所挂载的硬盘数量;确定若干个第二控制器的物理线路顺序;根据硬盘数量和物理线路顺序,依次确定第二控制器所挂载的硬盘的起始槽位标识。
在本发明这一实施例中,确定指定接口链路上所挂载的每一个第二控制器是否在位,包括:通过与指定接口的通信协议相适配的指令,扫描通信链路上挂在的第二控制器是否在位。
在本发明这一实施例中,在第二控制器在位时,确定第二控制器所挂载的硬盘数量,包括:读取第二控制器的指定寄存器,获取第二控制器上挂载的硬盘数量。
在本发明这一实施例中,槽位分配模块402包括:排序子模块,用于根据物理线路顺序,对若干个第二控制器进行排序;标识子模块,用于将排序位于第一顺位的第二控制器的起始槽位标识赋值为0,将排序位于第二顺位的第二控制器的起始槽位标识赋值为排序位于第一顺位的第二控制器的硬盘数量的值,如此,根据物理线路顺序,依次将排序位于第n+1顺位的第二控制器的起始槽位标识赋值为排序位于第n顺位的第二控制器的硬盘数量的值,其中,n为正整数。
在本发明这一实施例中,槽位分配模块402包括:位置确定子模块,用于确定第二控制器所挂载的硬盘的位置信息;槽位号生成子模块,用于根据初始槽位标识和位置信息,生成硬盘的物理槽位号;将物理槽位号发送至第一控制器;接收第一控制器根据物理槽位号生成的物理槽位号与逻辑号之间的映射关系,其中,逻辑号为硬盘在服务器上被分配的逻辑编号。
在本发明这一实施例中,第一控制器为服务器主板的FPGA芯片;第二控制器为服务器背板的CPLD芯片;指定类型接口为I2C接口。
更进一步,基于如上文硬盘槽位分配方法,本发明实施例还提供一种电子设备,如图5所示,电子设备50包括至少一个处理器501、以及与处理器501连接的至少一个存储器502、总线503;其中,处理器501、存储器502通过总线503完成相互间的通信;处理器501用于调用存储器502中的程序指令,以执行上述硬盘槽位分配方法。
这里需要指出的是:以上对针对硬盘槽位分配方法装置及电子设备实施例的描述,与前述图1至3所示的方法实施例的描述是类似的,具有同前述图1至3所示的方法实施例相似的有益效果,因此不做赘述。对于本发明硬盘槽位分配方法装置及电子设备实施例中未披露的技术细节,请参照本发明前述图1至3所示的方法实施例的描述而理解,为节约篇幅,因此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种硬盘槽位分配方法,所述方法包括:
接收第一控制器依次确定的每一第二控制器所挂载的硬盘的起始槽位标识;
根据所述起始槽位标识,为所述第二控制器所挂载的硬盘分配槽位;
其中,所述第一控制器配置于服务器的主板上,所述第二控制器配置于所述服务器的硬盘背板上;所述第一控制器为服务器主板的FPGA芯片;
所述第一控制器与每一个所述第二控制器通过指定类型接口进行连接;
所述第一控制器与所述第二控制器为两种不同类型的控制器。
2.根据权利要求1所述的方法,所述第一控制器采用以下操作步骤,依次确定每一所述第二控制器所挂载的硬盘的起始槽位标识:
依次确定所述指定类型接口的通信链路上所挂载的每一个第二控制器是否在位;
在第二控制器在位时,确定所述第二控制器所挂载的硬盘数量;
确定所述若干个第二控制器的物理线路顺序;
根据所述硬盘数量和所述物理线路顺序,依次确定所述第二控制器所挂载的硬盘的起始槽位标识。
3.根据权利要求2所述的方法,所述确定所述指定类型接口链路上所挂载的每一个第二控制器是否在位,包括:
通过与所述指定类型接口的通信协议相适配的指令,扫描所述通信链路上挂在的第二控制器是否在位。
4.根据权利要求2所述的方法,所述在第二控制器在位时,确定所述第二控制器所挂载的硬盘数量,包括:
读取所述第二控制器的指定寄存器,获取所述第二控制器上挂载的硬盘数量。
5.根据权利要求2所述的方法,所述根据所述硬盘数量和所述物理线路顺序,依次确定所述第二控制器所挂载的硬盘的起始槽位标识,包括:
根据所述物理线路顺序,对所述若干个第二控制器进行排序;
将排序位于第一顺位的第二控制器的起始槽位标识赋值为0;
将排序位于第二顺位的第二控制器的起始槽位标识赋值为排序位于第一顺位的第二控制器的硬盘数量的值;
如此,根据所述物理线路顺序,依次将排序位于第n+1顺位的第二控制器的起始槽位标识赋值为排序位于第n顺位的第二控制器的硬盘数量的值,其中,n为正整数。
6.根据权利要求1所述的方法,所述第二控制器根据所述起始槽位标识,为所述第二控制器所挂载的硬盘分配槽位,包括:
确定所述第二控制器所挂载的硬盘的位置信息;
根据初始槽位标识和位置信息,生成硬盘的物理槽位号;
将所述物理槽位号发送至所述第一控制器;
接收所述第一控制器根据所述物理槽位号生成的所述物理槽位号与逻辑号之间的映射关系,其中,所述逻辑号为硬盘在所述服务器上被分配的逻辑编号。
7.根据权利要求1-6中任一项所述的方法,
所述第二控制器为服务器背板的CPLD芯片;
所述指定类型接口为I2C接口。
8.一种硬盘槽位分配装置,所述装置包括:
起始槽位获取模块,用于接收第一控制器依次确定的每一第二控制器所挂载的硬盘的起始槽位标识;
槽位分配模块,用于根据所述起始槽位标识,为所述第二控制器所挂载的硬盘分配槽位;
其中,所述第一控制器配置于服务器的主板上,所述第二控制器配置于所述服务器的硬盘背板上,所述第一控制器与每一个所述第二控制器通过指定类型接口进行连接;所述第一控制器为服务器主板的FPGA芯片;
所述第一控制器与所述第二控制器为两种不同类型的控制器。
9.一种计算机可读存储介质,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行权利要求1-7中任一项所述的硬盘槽位分配方法。
10.一种电子设备,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行权利要求1-7中任一项所述的硬盘槽位分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110340839.XA CN113190170B (zh) | 2021-03-30 | 2021-03-30 | 一种硬盘槽位排列方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110340839.XA CN113190170B (zh) | 2021-03-30 | 2021-03-30 | 一种硬盘槽位排列方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113190170A CN113190170A (zh) | 2021-07-30 |
CN113190170B true CN113190170B (zh) | 2024-06-18 |
Family
ID=76974421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110340839.XA Active CN113190170B (zh) | 2021-03-30 | 2021-03-30 | 一种硬盘槽位排列方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113190170B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760667A (zh) * | 2021-08-25 | 2021-12-07 | 联想(北京)有限公司 | 一种硬盘管理方法、装置、可读存储介质及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW558682B (en) * | 2001-07-31 | 2003-10-21 | Icp Electronics Inc | Network concentrated storage system and server and adaptor used by the same |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6865640B2 (en) * | 2001-04-26 | 2005-03-08 | International Business Machines Corporation | Hard disk drive library |
US8443114B2 (en) * | 2010-12-09 | 2013-05-14 | Dell Products, Lp | System and method for mapping a logical drive status to a physical drive status for multiple storage drives having different storage technologies within a server |
CN105812190B (zh) * | 2016-04-29 | 2019-03-05 | 中国人民解放军国防科学技术大学 | 一种飞腾服务器刀片系统的网络地址管理方法 |
US10671403B2 (en) * | 2017-02-17 | 2020-06-02 | Lenovo (Beijing) Co., Ltd. | Method and apparatus for identifying hardware device in operating system |
CN112162706A (zh) * | 2020-09-30 | 2021-01-01 | 新华三云计算技术有限公司 | 一种硬盘管理方法、装置、设备及机器可读存储介质 |
-
2021
- 2021-03-30 CN CN202110340839.XA patent/CN113190170B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW558682B (en) * | 2001-07-31 | 2003-10-21 | Icp Electronics Inc | Network concentrated storage system and server and adaptor used by the same |
Also Published As
Publication number | Publication date |
---|---|
CN113190170A (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4001877B2 (ja) | 入出力ファブリックにおけるハードウェア・エラーからの自動回復 | |
US7080291B2 (en) | Data processing system for keeping isolation between logical partitions | |
JP3697178B2 (ja) | ハードウェア・デバイスを管理する方法、システムおよびコンピュータ・プログラム・プロダクト | |
CN101615106B (zh) | 用于虚拟化sas存储适配器的方法和系统 | |
CN110083494B (zh) | 在多核心环境中管理硬件错误的方法和装置 | |
US8037210B2 (en) | Computer and method for directly accessing computer hardware by virtual system | |
US20070168571A1 (en) | System and method for automatic enforcement of firmware revisions in SCSI/SAS/FC systems | |
US10372639B2 (en) | System and method to avoid SMBus address conflicts via a baseboard management controller | |
CN104516769A (zh) | 动态逻辑分区的验证 | |
CN113190170B (zh) | 一种硬盘槽位排列方法、装置、存储介质及电子设备 | |
US7610429B2 (en) | Method and system for determining device criticality in a computer configuration | |
US20210232410A1 (en) | Systems and methods for evaluating and updating deprecated products | |
US7725806B2 (en) | Method and infrastructure for recognition of the resources of a defective hardware unit | |
CN101373438B (zh) | 一种基本输入输出系统管理方法、系统和装置 | |
GB2403829A (en) | Providing updated processor polling information | |
US7673082B2 (en) | Method and system to determine device criticality for hot-plugging in computer configurations | |
CN115599618B (zh) | 寄存器动态改配验证方法、装置、存储介质和处理器 | |
US8819494B2 (en) | Automatically changing parts in response to tests | |
US20130238884A1 (en) | Computer-readable recording medium storing memory dump program, information processing apparatus, and memory dump method | |
CN114238019A (zh) | 一种硬盘显示方法、装置、设备及介质 | |
JP2011204077A (ja) | 情報処理装置、リソース割り当て方法、およびリソース割り当てプログラム | |
JP2014109938A (ja) | プログラム起動装置、プログラム起動方法、及びプログラム起動プログラム | |
CN118093031A (zh) | 一种接线检查方法、装置、设备及机器可读存储介质 | |
US8856336B2 (en) | Moving a partition between computers | |
CN115129568A (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 |