CN116841927A - 计算设备 - Google Patents

计算设备 Download PDF

Info

Publication number
CN116841927A
CN116841927A CN202310687850.2A CN202310687850A CN116841927A CN 116841927 A CN116841927 A CN 116841927A CN 202310687850 A CN202310687850 A CN 202310687850A CN 116841927 A CN116841927 A CN 116841927A
Authority
CN
China
Prior art keywords
hard disk
controller
signal
target
logic device
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.)
Pending
Application number
CN202310687850.2A
Other languages
English (en)
Inventor
龚明炜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202310687850.2A priority Critical patent/CN116841927A/zh
Publication of CN116841927A publication Critical patent/CN116841927A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供一种计算设备,计算设备包括控制器、逻辑器件、以及至少一个硬盘,逻辑器件分别与控制器和每个硬盘连接,其中:逻辑器件用于,对控制器和每个硬盘之间的通讯数据进行格式转换处理,以使控制器通过逻辑器件与至少一个硬盘进行通讯;逻辑器件还用于,在检测到目标硬盘发生热插拔操作时生成中断信号,并向控制器发送中断信号,目标硬盘为至少一个硬盘中的任意一个硬盘;控制器用于,根据中断信号,读取目标硬盘的当前硬盘状态数据,并根据当前硬盘状态数据对目标硬盘进行热插拔管理。使控制器通过逻辑器件与至少一个硬盘进行通讯,以实现对每个硬盘的热插拔管理,有利于简化计算设备的硬件系统。

Description

计算设备
技术领域
本申请实施例涉及计算设备领域,尤其涉及一种计算设备。
背景技术
计算设备中可以包括控制器、至少一个硬盘和每个硬盘对应的端口扩展芯片,每个控制器可以通过串行总线与至少一个端口扩展芯片进行连接。每个控制器可以通过每个硬盘对应的端口扩展芯片与每个硬盘进行通讯,以实现对每个硬盘的热插拔管理。例如,计算设备可以为服务器,控制器可以为Switch芯片,端口扩展芯片可以为MAX7311芯片。
在相关技术中,通常将每个硬盘对应的端口扩展芯片、以及每个端口扩展芯片对应的硬件电路设置在硬盘背板上。然而,当硬盘数量较多时,由于硬盘背板的布局布线空间有限,若在硬盘背板上布置硬盘对应数量的端口扩展芯片及硬件电路时,将导致硬盘背板的硬件电路复杂,进而导致计算设备的硬件系统较为复杂。
发明内容
本申请实施例提供了一种计算设备,可以使控制器通过逻辑器件与至少一个硬盘进行通讯,以实现对每个硬盘的热插拔管理,从而无需对每个硬盘单独设置端口扩展芯片和硬件电路,简化了计算设备的硬件系统,降低了计算设备的硬件成本。
第一方面,本申请实施例提供一种计算设备,所述计算设备包括控制器、逻辑器件、以及至少一个硬盘;所述逻辑器件分别与所述控制器和每个硬盘连接,其中:
所述逻辑器件用于,对所述控制器和每个硬盘之间的通讯数据进行格式转换处理,以使所述控制器通过所述逻辑器件与所述至少一个硬盘进行通讯;
所述逻辑器件还用于,在检测到目标硬盘发生热插拔操作时生成中断信号,并向所述控制器发送所述中断信号,所述目标硬盘为所述至少一个硬盘中的任意一个硬盘;
所述控制器用于,根据所述中断信号,读取所述目标硬盘的当前硬盘状态数据,并根据所述当前硬盘状态数据对所述目标硬盘进行热插拔管理。
在上述技术方案中,可以通过逻辑器件来连接控制器与至少一个硬盘,控制器可以通过逻辑器件与每个硬盘进行通讯,以实现对每个硬盘的热插拔管理。相比于相关技术,本申请提供的计算设备无需对每个硬盘单独设置端口扩展芯片和硬件电路,有利于简化计算设备的硬件系统,降低了计算设备的硬件成本。
在一种可能的实施方式中,所述逻辑器件中包括每个硬盘对应的寄存器,其中:
所述寄存器用于,存储所述硬盘向所述控制器发送的硬盘状态信号、以及存储所述控制器向所述硬盘发送的硬盘控制信号。
在上述技术方案中,通过设置寄存器可以使逻辑器件随时读取硬盘的状态信号、以及将控制器发送的硬盘控制信号输出给硬盘,使逻辑器件对硬盘状态的监控和硬盘控制信号的传输更为方便。
在一种可能的实施方式中,所述硬盘对应的寄存器包括第一寄存器单元和第二寄存器单元;其中,
所述第一寄存器单元用于存储所述硬盘状态信号;
所述第二寄存器单元用于存储所述硬盘控制信号。
在上述技术方案中,逻辑器件中可以在每个硬盘对应的寄存器中设置两个单独的寄存器单元,以便于分别存储硬盘状态信号和硬盘控制信号,使逻辑器件对上述两种信号控制更方便。
在一种可能的实施方式中,所述逻辑器件中还包括每个硬盘对应的信号转换模块;
所述信号转换模块用于,检测所述硬盘对应的第一寄存器单元中的硬盘状态信号,并在所述硬盘状态信号发生变化时,生成中断信号,所述中断信号用于指示所述硬盘发生了热插拔操作;
所述信号转换模块还用于,对所述硬盘状态信号进行格式转换处理,得到所述硬盘的硬盘状态数据;
所述信号转换模块还用于,接收所述硬盘的硬盘控制数据,对所述硬盘控制数据进行转换处理,得到所述硬盘的硬盘控制信号,并将所述硬盘控制信号存储至所述第二寄存器单元。
在上述技术方案中,通过信号转换模块可以检测硬盘状态信号,并在硬盘状态信号发生变化时生成中断信号;通过信号转换模块还可以将硬盘发送给控制器的硬盘状态信号转换成硬盘状态数据、以及将控制器发送给硬盘的硬盘控制数据转换成硬盘控制信号,以实现控制器和硬盘之间的通讯交互。通过在逻辑器件中模拟的信号转换模块代替相关技术中的端口扩展芯片,可以在硬盘背板中取消每个硬盘对应的端口扩展芯片和硬件电路,简化了计算设备的硬件系统,降低了计算设备的硬件成本。
在一种可能的实施方式中,所述控制器具体用于,根据所述中断信号,向所述逻辑器件发送所述目标硬盘的消息读取请求,以读取所述目标硬盘的当前硬盘状态数据;
所述逻辑器件用于,根据所述消息读取请求,确定所述目标硬盘对应的信号转换模块,并通过所述信号转换模块确定所述目标硬盘的当前硬盘状态数据,并向所述控制器发送所述当前硬盘状态数据。
在上述技术方案中,控制器在接收到中断信号后,可以向逻辑器件发送消息读取请求,逻辑器件可以根据消息读取请求,通过信号转换模块将硬盘的硬盘状态信号转换成控制器可读取的当前硬盘状态数据,以实现控制器与逻辑器件之间的数据读操作。
在一种可能的实施方式中,所述逻辑器件还用于,在检测到所述控制器对所述目标硬盘的当前硬盘状态数据读取完成后,释放所述中断信号。
在上述技术方案中,逻辑器件还用于检测控制器对当前硬盘状态数据读取状态,以便于准确确定释放中断信号的时机。
在一种可能的实施方式中,所述控制器用于,根据所述当前硬盘状态数据,确定所述目标硬盘是否发生热插拔事件,在确定所述目标硬盘发生热插拔事件时,生成所述目标硬盘的硬盘控制数据,以及根据所述硬盘控制数据生成所述目标硬盘的消息写入请求,并向所述逻辑器件发送所述消息写入请求;
所述逻辑器件用于,根据所述消息写入请求,确定所述目标硬盘对应的信号转换模块,并通过所述信号转换模块确定所述目标硬盘的硬盘控制信号、以及将所述硬盘控制信号写入所述目标硬盘对应的第二寄存器单元中。
在上述技术方案中,控制器可以根据目标硬盘的当前硬盘状态数据,确定目标硬盘是否发生热插拔事件后,以及在确定发生热插拔之后,生成硬盘控制数据,并通过消息写入请求将硬盘控制数据发送给逻辑器件,以使逻辑器件根据硬盘控制数据确定对应的硬盘控制信号,并将硬盘控制信号写入至第二寄存器单元中,以通过第二寄存器单元输出给硬盘。通过逻辑器件将硬盘和控制器之间的通讯数据进行转换处理,以实现控制器对硬盘的热插拔管理,从而无需为每个硬盘单独设置端口扩展芯片,简化计算设备的硬件系统,降低了计算设备的硬件成本。
在一种可能的实施方式中,根据所述目标硬盘的当前硬盘状态数据,确定所述目标硬盘是否发生热插拔事件,包括:
获取所述目标硬盘对应的预设硬盘状态数据;
在所述预设硬盘状态数据和所述当前硬盘状态数据不同时,确定所述目标硬盘发生热插拔事件。
在上述技术方案中,控制器可以根据目标硬盘的当前硬盘状态数据和预设的硬盘状态数据,来判断目标硬盘是否发生了热插拔事件,以便于及时对发生热插拔事件的硬盘进行监控和管理。
在一种可能的实施方式中,所述控制器还用于,在确定所述目标硬盘发生热插拔事件之后,将所述预设硬盘状态数据更新为所述当前硬盘状态数据。
在上述技术方案中,控制器可以根据当前硬盘状态数据,对预设硬盘状态数据进行及时更新,以便于处理器或热插拔驱动等根据更新后的硬盘状态数据对目标硬盘进行管理。
在一种可能的实施方式中,硬盘状态信号包括如下至少一种:按钮信号、硬盘在位信号和电源正常信号。
在上述技术方案中,硬盘状态信号可以包括上述一种信号或多种信号,当硬盘状态信号变化时可以触发中断信号,以通过该中断信号及时告知控制器有热插拔事件发生,使控制器尽快对发生热插拔事件的硬盘进行热插拔管理。
本申请实施例提供的计算设备,可以包括控制器、逻辑器件、以及至少一个硬盘,逻辑器件分别与控制器和每个硬盘连接,其中:逻辑器件用于,对控制器和每个硬盘之间的通讯数据进行格式转换处理,以使控制器通过逻辑器件与至少一个硬盘进行通讯;逻辑器件还用于,在检测到目标硬盘发生热插拔操作时生成中断信号,并向控制器发送中断信号,目标硬盘为至少一个硬盘中的任意一个硬盘;控制器用于,根据中断信号,读取目标硬盘的当前硬盘状态数据,并根据当前硬盘状态数据对目标硬盘进行热插拔管理。在上述计算设备中,可以通过逻辑器件实现控制器与至少一个硬盘之间的通讯,以实现对至少一个硬盘的热插拔管理,从而无需对每个硬盘单独设置端口扩展芯片和硬件电路,简化了计算设备的硬件系统,降低了计算设备的硬件成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种相关技术中的计算设备的结构示意图;
图2为本申请实施例提供的一种计算设备的结构示意图;
图3为本申请实施例提供的另一种计算设备的结构示意图;
图4为本申请实施例提供的另一种计算设备的结构示意图;
图5为本申请实施例提供的另一种计算设备的结构示意图;
图6为本申请实施例提供的硬盘的热插拔管理过程的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
为便于对本申请实施例的理解,首先对本申请实施例涉及的概念进行解释说明。
复杂可编程逻辑器件(Complex Programming logic device,CPLD):是由逻辑块、可编程互连通道和输入/输出(Input/Output,I/O)块三部分构成,采用互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、带电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、快闪存储器和静态随机存取存储器(Static Random-Access Memory,SRAM)等编程技术,从而构成了高密度、高速度和低功耗的可编程逻辑器件。
非易失性内存主机控制器接口规范(Non-Volatile Memory express,NVMe):是一个与高级主机控制器接口(Serial ATAAdvanced Host Controller Interface,AHCI)类似的、基于设备逻辑接口的总线传输协议规范(相当于通讯协议中的应用层),用于访问通过高速串行计算机扩展总线标准(Peripheral Component Interconnect Express,PCIE)总线附加的非易失性内存介质。
热插拔(Hot-plugging或Hot Swap):即带电插拔,热插拔功能就是允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬盘、电源或板卡等部件,从而提高了系统对灾难的及时恢复能力、扩展性和灵活性。
在相关技术中,计算设备中可以包括控制器、至少一个硬盘和每个硬盘对应的端口扩展芯片。每个控制器可以通过串行总线和中断信号线与至少一个端口扩展芯片进行连接,每个控制器可以通过每个硬盘对应的端口扩展芯片与每个硬盘进行通讯,以实现对每个硬盘的热插拔管理。
下面,结合图1,对相关技术中用于硬盘热插拔管理的计算设备的结构进行说明。
图1为本申请实施例提供的一种相关技术中的计算设备的结构示意图。请参见图1,计算设备包括2个控制器和硬盘背板,硬盘背板中设置有多个端口扩展芯片、多个槽位、以及每个端口扩展芯片和对应的控制器连接的硬件电路,其中,每个槽位可以用于插设硬盘。可以看到,当硬盘数量较多时,由于硬盘背板的布局布线空间有限,若在硬盘背板上布置对应数量的端口扩展芯片及硬件电路,将导致硬盘背板的硬件电路复杂,进而导致计算设备的硬件系统较为复杂。
鉴于此,本申请实施例提供了一种计算设备,无需对每个硬盘单独布置端口扩展芯片和硬件电路,通过计算设备中原有的逻辑器件来连接至少一个控制器与至少一个硬盘,每个控制器可以通过逻辑器件与至少一个硬盘进行通讯,以实现对至少一个硬盘的热插拔管理,简化了计算设备的硬件系统,降低了计算设备的硬件成本。
为了便于理解,下面对本申请实施例涉及的计算设备的结构进行介绍。
图2为本申请实施例提供的一种计算设备的结构示意图。请参见图2,计算设备包括控制器、逻辑器件和至少一个硬盘。
逻辑器件分别与控制器和每个硬盘连接。示例性的,逻辑器件可以通过中断信号线和串行总线与控制器连接,逻辑器件可以通过I/O信号线与每个硬盘连接。
逻辑器件用于,对控制器和每个硬盘之间的通讯数据进行格式转换处理,以使控制器通过逻辑器件与至少一个硬盘进行通讯。
逻辑器件还用于,在检测到目标硬盘发生热插拔操作时生成中断信号,并向控制器发送中断信号,目标硬盘为至少一个硬盘中的任意一个硬盘。
控制器用于,根据中断信号,读取目标硬盘的当前硬盘状态数据,并根据当前硬盘状态数据对目标硬盘进行热插拔管理。
需要说明的是,本申请实施例以控制器和逻辑器件的数量为1个进行说明,而在其它实施例中,控制器和逻辑器件的数量还可以为2个、3个、4个、……,本申请实施例不限定控制器和逻辑器件的数量。此外,在本申请实施例中,硬盘的个数也可以有多个,每个控制器对应的硬盘数量可以为至少一个,本申请实施例以每个控制器对应12个硬盘为例进行说明,而在其它实施例中,每个控制器可以对应于4个硬盘,8个硬盘等,本申请实施例不限定硬盘的个数。
例如,硬盘与控制器之间的对应关系可以如表1所示:
表1
在本申请实施例中,计算设备可以为但不限于如下所示的设备:服务器、平板电脑、手提电脑、台式计算机和膝上型便携计算机等。
控制器可以为相关技术中可用于硬盘的热插拔管理的任意一种控制器,例如,控制器可以为但不限于基板管理控制器(Baseboard Management Controller,BMC)、南桥芯片(Platform Controller Hub,PCH)和Switch芯片等。
逻辑器件可以为但不限于如下所示的至少一种器件:复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)和现场可编程门阵列(Field-ProgrammableGate Array,FPGA)等。
串行总线可以为但不限于如下所示的串行总线:集成电路(Inter-IntegratedCircuit,IIC或I2C)总线、升级版的集成电路(Improved Inter Integrated Circuit,I3C)总线和串行外围设备接口(Serial Peripheral Interface,SPI)总线。
硬盘可以但不限于如下所示的一种硬盘:NVMe硬盘、固态硬盘(Solid State Disk或Solid State Drive,SSD)、机械硬盘(Hard Disk Drive,HDD)或混合硬盘(Hybrid HardDisk,HHD)等。
在本申请实施例中,控制器还可以通过PCIE总线与处理器或热插拔驱动连接,处理器或热插拔驱动可以通过控制器对控制器对应的多个硬盘进行管理,例如,处理器可以通过控制器获取目标硬盘的硬盘状态数据,以及通过控制器向目标硬盘发送硬盘控制数据。
本申请实施例提供的计算设备,可以包括控制器、逻辑器件、以及至少一个硬盘,逻辑器件分别与控制器和每个硬盘连接,其中:逻辑器件用于,对控制器和每个硬盘之间的通讯数据进行格式转换处理,以使控制器通过逻辑器件与至少一个硬盘进行通讯;逻辑器件还用于,在检测到目标硬盘发生热插拔操作时生成中断信号,并向控制器发送中断信号;控制器用于,根据中断信号,读取目标硬盘的硬盘状态数据,并根据硬盘状态数据对目标硬盘进行热插拔管理。在上述计算设备中,无需对每个硬盘单独设置端口扩展芯片和硬件电路,可以通过逻辑器件实现控制器与至少一个硬盘之间的通讯,以及在目标硬盘发生热插拔事件时,通过触发中断信号通知控制器,以使控制器实现对目标硬盘的热插拔管理,简化了计算设备的硬件系统,降低了计算设备的硬件成本。
在一种可能的实现方式中,在上述计算设备中,逻辑器件中可以包括每个硬盘对应的寄存器。下面,结合图3,对计算设备的另一种结构进行说明。
图3为本申请实施例提供的另一种计算设备的结构示意图。请参见图3,在图2所示的计算设备的基础上,计算设备中还可以包括硬盘背板,逻辑器件和槽位设置于硬盘背板上,槽位可以用于插设硬盘。
逻辑器件中可以包括每个硬盘对应的寄存器。寄存器可以用于,存储硬盘向控制器发送的硬盘状态信号、以及存储控制器向硬盘发送的硬盘控制信号。
具体地,每个硬盘对应的寄存器中可以包括第一寄存器单元和第二寄存器单元,其中:
第一寄存器单元用于存储硬盘状态信号;
第二寄存器单元用于存储硬盘控制信号。
在本申请实施例中,硬盘状态信号包括如下至少一种:按钮信号、硬盘在位信号和电源正常信号。
每个槽位中可以设置有注意按钮(Attention Button),当该槽位有硬盘插入时,按钮(Button)信号将会发生变化。例如,按钮信号的下降沿表示该槽位有硬盘插入,按钮信号的上升沿表示该槽位有硬盘拔出。
每个槽位中可以设置有硬盘在位检测装置,当该槽位的硬盘的在位状态变化时,硬盘在位信号将会发生变化。例如,硬盘在位(Present)信号的上升沿表示当前槽位中插设的硬盘已拔出;硬盘在位信号的下降沿表示当前槽位中插设的硬盘在位。
电源正常(Power Good,PG)信号可以用于反映当前槽位是否上电。示例性的,PG信号的上升沿表示当前槽位已上电,逻辑器件需要通过串行总线将PG信号传递给控制器,控制器可以根据PG信号确定热插入操作命令已完成;PG信号的下降沿表示当前槽位已下电,逻辑器件还需要通过串行总线将PG信号传递给控制器,控制器可以根据PG信号确定热拔出操作命令已完成。若当前槽位在进行上下电时,未向控制器报告PG信号的变化情况,将导致控制器对应的串行总线控制单元锁死,从而导致在该槽位在插入其它硬盘时无法枚举。
示例性的,硬盘状态信号和硬盘控制信号可以如表2所示:
表2
本申请实施例提供的计算设备,无需对每个硬盘单独设置端口扩展芯片和硬件电路,可以通过逻辑器件实现控制器与至少一个硬盘之间的通讯,以及在目标硬盘发生热插拔事件时,通过触发中断信号通知控制器,以使控制器实现对目标硬盘的热插拔管理,简化了计算设备的硬件系统,降低了计算设备的硬件成本。逻辑器件可以通过寄存器随时读取硬盘的状态信号、以及将控制器发送的硬盘控制信号输出给硬盘,并且对每个硬盘设置两个单独的寄存器单元,分别用于存储硬盘状态信号和硬盘控制信号,以便于实现对硬盘状态的监控、以及对硬盘的热插拔管理。
在一种可能的实现方式中,在上述计算设备中,逻辑器件中还可以包括每个硬盘对应的信号转换模块。下面,结合图4,对计算设备的另一种结构进行说明。
图4为本申请实施例提供的另一种计算设备的结构示意图。请参见图4,在图3所示的计算设备的基础上,计算设备的逻辑器件中还可以包括每个硬盘对应的信号转换模块。
信号转换模块用于,检测硬盘对应的第一寄存器单元中的硬盘状态信号,并在硬盘状态信号发生变化时,生成中断信号。
中断信号用于指示硬盘发生了热插拔操作。示例性的,当任意一个槽位有硬盘热插入时,硬盘在位信号和按钮信号将发生变化,当信号转换模块检测到在位信号和按钮信号发生变化时,将生成中断信号。
逻辑器件可以对控制器对应的多个硬盘的硬盘状态信息进行实时检测,以便于及时发现存在热插拔事件的目标硬盘,并向目标硬盘对应的控制器发送中断信号,有利于提高控制器对目标硬盘的热插拔事件的处理效率。
信号转换模块还用于,对硬盘状态信号进行格式转换处理,得到硬盘的硬盘状态数据。
示例性的,信号转换模块可以对硬盘状态信号按照每8位进行编码处理,以得到硬盘状态数据,该硬盘状态数据可以通过串行总线协议进行数据传输。
信号转换模块还用于,接收硬盘的硬盘控制数据,对硬盘控制数据进行转换处理,得到硬盘的硬盘控制信号,并将硬盘控制信号存储至第二寄存器单元。
示例性的,硬盘控制数据可以为串线总线协议传输的一串8位编码数据,信号转换模块可以其进行转换处理,以得到硬盘控制信号。
需要说明的是,信号转换模块可以通过软件实现,也可以通过软件和硬件的结合实现。本申请实施例以信号转换模块通过软件实现为例进行说明,在一些其他的实施例中,信号转换模块还可以通过软件和硬件的结合实现。
信号转换模块和硬盘之间具有一一对应关系,可以根据控制器和硬盘之间的对应关系,由逻辑器件预先为每个硬盘对应的信号转换模块分配一个虚拟串行总线地址,以便于后续控制器通过该虚拟串行总线地址确定对应的信号转换模块。
例如,每个信号转换模块对应的虚拟串行总线地址可以如表3所示:
表3
示例性的,对于不同类型的信号转换模块,虚拟串行总线地址可以设置成不同的样式。例如,对于16位的信号转换模块,虚拟串行总线地址可以从0x40依次开始设置;对于40位的信号转换模块,虚拟串行总线地址可以从0xF8依次开始设置。当信号转换模块在进行读写操作时,逻辑器件可以根据信号转换模块的类型,对虚拟串行总线地址进行过滤处理。
逻辑器件还可以预先建立控制器与信号转换模块之间的读写机制,以使控制器和信号转换模块通过上述读写机制进行数据读操作和数据写操作。示例性的,读写机制可以为I2C读写机制,逻辑器件可以参照相关技术中Switch芯片与端口扩展芯片之间的I2C读写机制,对控制器与信号转换模块之间的I2C读写机制进行设置。
下面,以I2C读写机制为例,对控制器与信号转换模块之间的I2C读写机制进行说明。
I2C总线接口电路可以包括状态机单元,可以将状态机单元中的状态机设计为6个状态,分别是:I2C停止状态(IDLE)、I2C开始状态(START)、I2C写操作状态(WRITE)、I2C写操作响应状态(SEND_ACK)、I2C读操作状态(READ)和I2C读操作响应状态(RECEIVE_ACK)。其中,在I2C写操作状态,每写入8位即跳转到I2C写操作响应状态;在I2C写操作响应状态时,可以根据信号转换模块对应的类型,对虚拟串行总线地址进行过滤。
在进行I2C通讯过程中,可以将控制器配置为主机(MASTER),信号转换模块配置为从机(SLAVE)。主机对从机进行寄存器写操作时,信号转换模块接收控制器输送的硬盘控制数据,并存储于第二寄存器单元中。主机对从机进行寄存器读操作时,信号转换模块将第一寄存器单元中存储的硬盘状态信号转换成硬盘状态数据,通过执行读操作,使控制器及时读取硬盘状态数据。
参见图4,逻辑器件中还可以模拟每个信号转换模块对应的虚拟电路,虚拟电路包括每个信号转换模块对应的虚拟串行通道,以及多个信号转换模块的虚拟中断电路组成的虚拟与中断电路。
逻辑器件可以通过虚拟串行通道将控制器发送的通讯数据传输给信号转换模块。
在虚拟与中断电路中,当任何一个信号转换模块对应的虚拟中断电路生成中断信号时,都会触发逻辑器件向控制器发送中断信号,以使控制器及时知晓对硬盘的热插拔事件,并对发生热插拔事件的硬盘进行热插拔管理。
本申请实施例提供的计算设备,可以在逻辑器件中模拟每个硬盘对应的信号转换模块,该信号转换模块可以检测硬盘状态信号,并在硬盘状态信号发生变化时生成中断信号;通过信号转换模块还可以将硬盘发送给控制器的硬盘状态信号转换成硬盘状态数据、以及将控制器发送给硬盘的硬盘控制数据转换成硬盘控制信号,以实现控制器和硬盘之间的通讯交互。在上述计算设备中,通过在逻辑器件中模拟的信号转换模块可以代替相关技术中的端口扩展芯片,从而无需为每个硬盘单独设置端口扩展芯片,简化了计算设备的硬件系统,降低了计算设备的硬件成本。
为了便于理解,在多个控制器的场景下,每个控制器通过逻辑器件与硬盘的通讯交互过程,下面,结合图5,以两个控制器为例,对含有两个控制器的计算设备的结构进行说明。
图5为本申请实施例提供的另一种计算设备的结构示意图。请参见图5,计算设备中包括控制器1、控制器2和硬盘背板,硬盘背板上设置有逻辑器件和多个槽位,槽位可用于插设硬盘。
逻辑器件中包括每个硬盘对应的寄存器、以及每个硬盘对应的信号转换模块。
每个控制器可以对应于多个硬盘,例如,在图5中,控制器1对应于硬盘0~硬盘11,控制器2对应于硬盘12~硬盘24。
每个控制器与逻辑器件之间可以通过独立的串行总线和中断信号线进行连接。
可以理解的是,假设逻辑器件检测到图5中的硬盘2发生热插拔事件,可以先确定硬盘2对应的控制器为控制器1,再通过控制器1对应的中断信号线向控制器1发送中断信号,以使控制器1接收到硬盘2发生了热插拔事件,从而对硬盘2进行热插拔管理。
本申请实施例提供的计算设备,可以通过逻辑器件对控制器对应的多个硬盘的硬盘状态信号进行实时检测,以便于及时发现存在热插拔事件的硬盘,并通知给该硬盘对应的控制器,以使控制器对该硬盘进行热插拔管理,有利于提高控制器对硬盘的热插拔事件的处理效率。
下面,结合图6,对硬盘的热插拔管理过程中,控制器和逻辑器件之间的通讯交互过程进行详细说明。
图6为本申请实施例提供的硬盘的热插拔管理过程的示意图。请参见图6,该过程包括:
S601、逻辑器件在检测到目标硬盘发生热插拔操作时生成中断信号。
目标硬盘为至少一个硬盘中的任意一个硬盘。
S602、逻辑器件向控制器发送中断信号。
逻辑器件可以通过控制器对应的中断信号线,向控制器发送中断信号。
S603、控制器根据中断信号,生成目标硬盘的消息读取请求。
消息读取请求可以用于请求读取目标硬盘的当前硬盘状态数据。
可以理解的是,消息读取请求也可以用于读取目标硬盘的当前硬盘状态数据和当前硬盘控制数据。
信号转换模块可以对目标硬盘对应的第二寄存器单元中存储的当前硬盘控制信号进行转换处理,得到目标硬盘的当前硬盘控制数据。
S604、控制器向逻辑器件发送目标硬盘的消息读取请求。
消息读取请求可以包括目标虚拟串行总线地址,该目标虚拟串行总线地址为目标硬盘对应的信号转换模块的虚拟串行总线地址。
例如,目标硬盘为硬盘0,硬盘0对应的信号转换模块0的虚拟串行总线地址为0x40,那么,目标虚拟串行总线地址为0x40。
控制器可以通过串行总线向逻辑器件发送消息写入请求。例如,串行总线可以为I2C总线。
S605、逻辑器件根据消息读取请求,确定目标硬盘对应的信号转换模块,并通过信号转换模块确定目标硬盘的当前硬盘状态数据。
逻辑器件可以采用如下两种方式确定目标硬盘对应的信号转换模块:
方式1:逻辑器件获取信号转换模块和虚拟串行总线地址之间的对应关系,通过对应关系和目标虚拟串行总线地址确定目标硬盘对应的信号转换模块。
方式2:逻辑器件可以向多个信号转换模块发送消息读取请求,具有与目标虚拟串行总线地址相同的虚拟串行总线地址的信号转换模块可以进行应答,进而使逻辑器件确定目标硬盘对应的信号转换模块。
S606、逻辑器件向控制器发送当前硬盘状态数据。
可选的,在执行完S606之后,逻辑器件还可以包括如下步骤:在检测到控制器对目标硬盘的当前硬盘状态数据读取完成之后,释放中断信号。
中断信号低电平有效,当释放中断信号后,中断信号线恢复高电平。
示例性的,逻辑器件中的信号转换模块可以根据I2C读操作响应状态信号的次数,确定控制器是否对当前硬盘状态数据读取完成。
在一种可能的实现方式中,控制器在执行读操作时,可以在读取目标硬盘的当前硬盘状态数据后,向逻辑器件发送第一次I2C读操作响应状态信号,然后继续读取目标硬盘的当前硬盘控制数据,并在对目标硬盘的当前硬盘控制数据读取完成后,向逻辑器件发送第二次I2C读操作响应状态信号,当逻辑器件接收到2次I2C读操作响应状态信号后,释放中断信号。
S607、控制器根据当前硬盘状态数据,确定目标硬盘是否发生热插拔事件。
热插拔事件可以包括热插入事件和热拔出事件。
可以通过如下方式确定目标硬盘是否发生热插拔事件:获取目标硬盘对应的预设硬盘状态数据;在预设硬盘状态数据和当前硬盘状态数据不同时,确定目标硬盘发生热插拔事件。
在预设硬盘状态数据和当前硬盘状态数据相同时,表示目标硬盘未发生热插拔事件。
在一种可能的实现方式中,控制器还可以用于,在确定目标硬盘发生热插拔事件之后,将预设硬盘状态数据更新为当前硬盘状态数据。
示例性的,控制器还可以向处理器或热插拔驱动发送目标硬盘的当前硬盘状态数据,以便于处理器或热插拔驱动根据当前硬盘状态数据,对目标硬盘进行管理。
S608、控制器在确定目标硬盘发生热插拔事件时,生成目标硬盘的硬盘控制数据,以及根据硬盘控制数据生成目标硬盘的消息写入请求。
消息写入请求可以包括目标虚拟串行总线地址和硬盘控制数据。
S609、控制器向逻辑器件发送目标硬盘的消息写入请求。
控制器可以通过串行总线向逻辑器件发送消息写入请求。例如,串行总线可以为I2C总线。
S610、逻辑器件根据消息写入请求,确定目标硬盘对应的信号转换模块,并通过信号转换模块确定目标硬盘的硬盘控制信号,以及将硬盘控制信号写入目标硬盘对应的第二寄存器单元中。
信号转换模块可以对消息写入请求中硬盘控制数据进行转换处理,以得到硬盘控制信号。
本申请实施例提供的硬盘的热插拔管理过程,可以应用于上述任意实施例的计算设备,逻辑器件在检测到目标硬盘发生热插拔事件时生成中断信号,并向控制器发送中断信号;控制器根据中断信号,向逻辑器件发送目标硬盘的消息读取请求,以读取目标硬盘的当前硬盘状态数据;逻辑器件根据消息读取请求,确定目标硬盘对应的信号转换模块,通过信号转换模块确定目标硬盘的当前硬盘状态数据,并向控制器发送当前硬盘状态数据;控制器根据当前硬盘状态数据,确定目标硬盘是否发生热插拔事件,在确定目标硬盘发生热插拔事件时,生成目标硬盘的硬盘控制数据、以及根据硬盘控制数据生成目标硬盘的消息写入请求,并向逻辑器件发送消息写入请求;逻辑器件根据消息写入请求,确定目标硬盘对应的信号转换模块,并通过信号转换模块确定目标硬盘的硬盘控制信号、以及将硬盘控制信号写入目标硬盘对应的第二寄存器单元中,以实现对目标硬盘的热插拔管理。在上述方法中,可以通过逻辑器件实现控制器与至少一个硬盘之间的通讯交互,进而实现控制器对至少一个硬盘的热插拔管理,从而无需对每个硬盘单独设置端口扩展芯片和硬件电路,简化了计算设备的硬件系统,降低了计算设备的硬件成本。
本申请实施例是参照根据本申请实施例计算设备和热插拔管理过程的方框图和/或流程图来描述的。应理解可由计算机程序指令实现方框图和/或流程图中的每一方框和/或流程、以及方框图和/或流程图中的方框图和/或流程图的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程终端设备的处理单元以产生一个机器,使得通过计算机或其他可编程终端设备的处理单元执行的指令产生用于实现方框图一个方框或多个方框和/或在流程图一个流程或多个流程中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程终端设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
在本申请中,术语“包括”及其变形可以指非限制性的包括;术语“或”及其变形可以指“和/或”。本申请中术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

Claims (10)

1.一种计算设备,其特征在于,所述计算设备包括控制器、逻辑器件、以及至少一个硬盘;所述逻辑器件分别与所述控制器和每个硬盘连接,其中:
所述逻辑器件用于,对所述控制器和每个硬盘之间的通讯数据进行格式转换处理,以使所述控制器通过所述逻辑器件与所述至少一个硬盘进行通讯;
所述逻辑器件还用于,在检测到目标硬盘发生热插拔操作时生成中断信号,并向所述控制器发送所述中断信号,所述目标硬盘为所述至少一个硬盘中的任意一个硬盘;
所述控制器用于,根据所述中断信号,读取所述目标硬盘的当前硬盘状态数据,并根据所述当前硬盘状态数据对所述目标硬盘进行热插拔管理。
2.根据权利要求1所述的计算设备,其特征在于,所述逻辑器件中包括每个硬盘对应的寄存器,其中:
所述寄存器用于,存储所述硬盘向所述控制器发送的硬盘状态信号、以及存储所述控制器向所述硬盘发送的硬盘控制信号。
3.根据权利要求2所述的计算设备,其特征在于,所述硬盘对应的寄存器包括第一寄存器单元和第二寄存器单元;其中,
所述第一寄存器单元用于存储所述硬盘状态信号;
所述第二寄存器单元用于存储所述硬盘控制信号。
4.根据权利要求3所述的计算设备,其特征在于,所述逻辑器件中还包括每个硬盘对应的信号转换模块;
所述信号转换模块用于,检测所述硬盘对应的第一寄存器单元中的硬盘状态信号,并在所述硬盘状态信号发生变化时,生成中断信号,所述中断信号用于指示所述硬盘发生了热插拔操作;
所述信号转换模块还用于,对所述硬盘状态信号进行格式转换处理,得到所述硬盘的硬盘状态数据;
所述信号转换模块还用于,接收所述硬盘的硬盘控制数据,对所述硬盘控制数据进行转换处理,得到所述硬盘的硬盘控制信号,并将所述硬盘控制信号存储至所述第二寄存器单元。
5.根据权利要求1-4任一项所述的计算设备,其特征在于,
所述控制器具体用于,根据所述中断信号,向所述逻辑器件发送所述目标硬盘的消息读取请求,以读取所述目标硬盘的当前硬盘状态数据;
所述逻辑器件用于,根据所述消息读取请求,确定所述目标硬盘对应的信号转换模块,并通过所述信号转换模块确定所述目标硬盘的当前硬盘状态数据,并向所述控制器发送所述当前硬盘状态数据。
6.根据权利要求5所述的计算设备,其特征在于,所述逻辑器件还用于,在检测到所述控制器对所述目标硬盘的当前硬盘状态数据读取完成后,释放所述中断信号。
7.根据权利要求1-6任一项所述的计算设备,其特征在于,
所述控制器用于,根据所述当前硬盘状态数据,确定所述目标硬盘是否发生热插拔事件,在确定所述目标硬盘发生热插拔事件时,生成所述目标硬盘的硬盘控制数据,以及根据所述硬盘控制数据生成所述目标硬盘的消息写入请求,并向所述逻辑器件发送所述消息写入请求;
所述逻辑器件用于,根据所述消息写入请求,确定所述目标硬盘对应的信号转换模块,并通过所述信号转换模块确定所述目标硬盘的硬盘控制信号、以及将所述硬盘控制信号写入所述目标硬盘对应的第二寄存器单元中。
8.根据权利要求7所述的计算设备,其特征在于,根据所述目标硬盘的当前硬盘状态数据,确定所述目标硬盘是否发生热插拔事件,包括:
获取所述目标硬盘对应的预设硬盘状态数据;
在所述预设硬盘状态数据和所述当前硬盘状态数据不同时,确定所述目标硬盘发生热插拔事件。
9.根据权利要求8所述的计算设备,其特征在于,所述控制器还用于,在确定所述目标硬盘发生热插拔事件之后,将所述预设硬盘状态数据更新为所述当前硬盘状态数据。
10.根据权利要求1-9任一项所述的计算设备,其特征在于,硬盘状态信号包括如下至少一种:按钮信号、硬盘在位信号和电源正常信号。
CN202310687850.2A 2023-06-09 2023-06-09 计算设备 Pending CN116841927A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310687850.2A CN116841927A (zh) 2023-06-09 2023-06-09 计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310687850.2A CN116841927A (zh) 2023-06-09 2023-06-09 计算设备

Publications (1)

Publication Number Publication Date
CN116841927A true CN116841927A (zh) 2023-10-03

Family

ID=88159109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310687850.2A Pending CN116841927A (zh) 2023-06-09 2023-06-09 计算设备

Country Status (1)

Country Link
CN (1) CN116841927A (zh)

Similar Documents

Publication Publication Date Title
CN107526665B (zh) 机箱管理系统及机箱管理方法
US8275599B2 (en) Embedded bus emulation
US7490176B2 (en) Serial attached SCSI backplane and detection system thereof
US10846159B2 (en) System and method for managing, resetting and diagnosing failures of a device management bus
US7631112B2 (en) Determining storage device connection information for serial and parallel computer interfaces to storage devices
US11003614B2 (en) Embedding protocol parameters in data streams between host devices and storage devices
CN109032901A (zh) 一种远程带外ssd的监控方法、装置及受控终端
US10140235B2 (en) Server
CN112868013B (zh) 经由边带接口恢复场域可程序门阵列固件的系统及方法
US10817405B2 (en) Storage device and debugging system thereof
CN113282231B (zh) 存储装置以及相关闪存控制器
WO2024087933A1 (zh) 一种内存卡和计算设备
WO2023016379A1 (zh) 计算机系统、基于PCIe设备的控制方法及相关设备
CN116841927A (zh) 计算设备
CN116539992A (zh) 存储设备在位稳定状态检测装置、方法、逻辑模块及介质
TWI688864B (zh) 儲存設備及儲存方法
CN116302687A (zh) 通信恢复方法、装置、系统及可读存储介质
US11720276B2 (en) Memory system and controller for managing write status
CN113918092B (zh) 一种分配存储空间的方法及系统
US11841809B1 (en) System and method for in situ debug
US20240045765A1 (en) Storage device and storage system
CN216014148U (zh) 一种服务器和服务器背板
CN110347639B (zh) 片上系统及其操作方法
WO2018125031A1 (en) Cross-component health monitoring and improved repair for self-healing platforms
CN118535503A (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