CN117971611B - 硬盘日志的数据解调方法、调制方法、装置、设备及介质 - Google Patents

硬盘日志的数据解调方法、调制方法、装置、设备及介质 Download PDF

Info

Publication number
CN117971611B
CN117971611B CN202410382575.8A CN202410382575A CN117971611B CN 117971611 B CN117971611 B CN 117971611B CN 202410382575 A CN202410382575 A CN 202410382575A CN 117971611 B CN117971611 B CN 117971611B
Authority
CN
China
Prior art keywords
data
hard disk
state
preset
data packet
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
Application number
CN202410382575.8A
Other languages
English (en)
Other versions
CN117971611A (zh
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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology 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 Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202410382575.8A priority Critical patent/CN117971611B/zh
Publication of CN117971611A publication Critical patent/CN117971611A/zh
Application granted granted Critical
Publication of CN117971611B publication Critical patent/CN117971611B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种硬盘日志的数据解调方法、调制方法、装置、设备及介质,涉及硬盘监控技术领域,该解调方法应用于基板管理控制器,包括:接收硬盘设备的状态指示引脚传输的电平信号;其中,电平信号为硬盘设备根据硬盘日志和状态指示引脚的原始状态输出信号调制得到的信号;识别电平信号中的目标矩形波信号各自对应的解调数据;根据解调数据确定有效数据包;本发明采用以硬盘设备的状态指示引脚直接输出硬盘日志数据到基板管理控制器的方式实现对硬盘设备的带外监控,解决了传统硬盘带外监控方案中带外管理系统无权限访问硬盘数据致使硬盘带外监控难以实现的问题,提高了基板管理控制器的可带外监控的硬盘设备范围。

Description

硬盘日志的数据解调方法、调制方法、装置、设备及介质
技术领域
本发明涉及硬盘监控技术领域,特别是涉及一种硬盘日志的数据解调方法、调制方法、装置、设备及介质。
背景技术
硬盘设备是计算机最主要的存储设备之一,由此,硬盘设备的健康运行是保障设备服务器可靠性的关键因素之一。
为保证对硬盘设备的运行状态的精准掌控,需要设备在硬盘设备运行过程中进行监控以获取硬盘设备的状态信息。目前主要的硬盘监控方案分为硬盘带内监控和硬盘带外监控。硬盘带内监控即通过中央处理器(Central Processing Unit,CPU)上运行的监控软件与硬盘设备进行数据通信后获取硬盘设备的状态信息,此种监控方案往往难以将监控数据向运维人员呈现。硬盘设备的带外监控即通过基板管理控制器(Baseboard ManagementController,BMC)获取硬盘状态信息后进行对硬盘的状态监控,监控结果可以向运维人员呈现,是目前主要采用的监控方法。但由于带外管理系统没有权限访问硬盘设备的业务数据,导致对很多硬盘的带外监控无法实现。
因此,如何能够提高基板管理控制器的可带外监控的硬盘设备范围,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种硬盘日志的数据解调方法、数据调制方法、装置、电子设备及计算机可读存储介质,以提高基板管理控制器的可带外监控的硬盘设备范围。
为解决上述技术问题,本发明提供一种硬盘日志的数据解调方法,应用于基板管理控制器,包括:
接收硬盘设备的状态指示引脚传输的电平信号;其中,所述电平信号为所述硬盘设备根据硬盘日志和所述状态指示引脚的原始状态输出信号调制得到的信号;所述原始状态输出信号包括恒定电平信号和/或恒定频率方波信号;
识别所述电平信号中的目标矩形波信号各自对应的解调数据;其中,所述目标矩形波信号的宽度处于预设宽度范围内,所述解调数据包括所述硬盘设备的硬盘日志数据;
根据所述解调数据确定有效数据包;其中,所述有效数据包包括连续的预设数量的所述解调数据,所述有效数据包内预设数据包内位置的解调数据为预设标识数据。
在另一方面,所述识别所述电平信号中的目标矩形波信号各自对应的解调数据,包括:
检测所述电平信号的上升沿和下降沿;
根据所述上升沿和所述下降沿,确定各所述电平信号的宽度;
根据所述宽度和所述预设宽度范围,确定所述电平信号中的目标矩形波信号各自对应的解调数据。
在另一方面,所述根据所述上升沿和所述下降沿,确定各所述电平信号的宽度,包括:
在检测到所述上升沿时,将上升沿状态寄存器中的上升沿状态标识设置为存在状态,利用计数器的计数值更新宽度寄存器中的宽度,并将所述计数器清零;
在检测到所述下降沿时,将下降沿状态寄存器中的下降沿状态标识设置为存在状态,利用所述计数值更新所述宽度寄存器中的宽度,并将所述计数器清零;
在未检测到所述上升沿或下降沿时,将所述上升沿状态标识和所述下降沿状态标识均设置为不存在状态,并持续利用计数器进行计数,更新所述计数值。
在另一方面,所述持续利用计数器进行计数,更新所述计数值之后,还包括:
判断所述计数值是否大于计数阈值;
若大于所述计数阈值,则停止所述计数器的计数;
若不大于所述计数阈值,则执行所述持续利用计数器进行计数,更新所述计数值的步骤。
在另一方面,所述根据所述宽度和所述预设宽度范围,确定所述电平信号中的目标矩形波信号各自对应的解调数据,包括:
在所述上升沿状态标识或所述下降沿状态标识为存在状态时,判断所述宽度寄存器中的宽度是否处于所述预设宽度范围内;
若处于所述预设宽度范围,则根据预设解调关系信息,确定所述宽度寄存器中的宽度对应的解调数据;其中,所述预设解调关系信息包括所述预设宽度范围内的各预设宽度值与各自对应的预设解调数据的对应关系信息,所述预设解调数据包括所述预设标识数据和有效数据。
在另一方面,所述根据所述解调数据确定有效数据包,包括:
若所述宽度寄存器中的宽度对应的解调数据为所述预设标识数据,则将无效状态寄存器中的无效状态标识设置为存在状态,将有效状态寄存器中的有效状态标识设置为不存在状态,利用脉冲数据寄存器存储所述解调数据,将脉冲数量计数器中的数值加1;
利用无效数据寄存器存储所述无效状态寄存器中的无效状态标识,并对所述无效数据寄存器中的数据进行移位操作;
利用数据包寄存器存储所述脉冲数据寄存器中的解调数据,并对所述数据包寄存器中的数据进行移位操作;
判断所述脉冲数量计数器中的数值是否为所述预设数量;
若为所述预设数量,则判断所述无效数据寄存器中的数据是否为预设数据;
若为所述预设数据,则将所述数据包寄存器中的数据确定为有效数据包。
在另一方面,所述原始状态输出信号包括所述恒定电平信号,所述目标矩形波信号包括在所述恒定电平信号中插入调制电平信号得到的矩形波信号,所述调制电平信号与所述恒定电平信号反相,所述调制电平信号的宽度小于所述预设宽度范围的下边界,所述目标矩形波信号的宽度与所述硬盘日志相关。
在另一方面,所述原始状态输出信号包括恒定高电平信号和恒定低电平信号;
所述预设宽度范围包括所述恒定高电平信号对应的第一宽度范围和所述恒定低电平信号对应的第二宽度范围,所述第一宽度范围和所述第二宽度范围不相交;
所述目标矩形波信号包括宽度在所述第一宽度范围内的所述硬盘日志对应的高电平矩形波和低电平矩形波以及宽度在所述第二宽度范围内的所述硬盘日志对应的高电平矩形波和低电平矩形波。
在另一方面,所述识别所述电平信号中的目标矩形波信号各自对应的解调数据,包括:
根据所述电平信号,识别所述解调数据和所述硬盘设备的硬盘设备状态;
根据所述硬盘设备状态,对应控制硬盘状态指示灯的亮起和熄灭。
在另一方面,该方法还包括:
在当前时刻为预设协商时间段时,向所述状态指示引脚发送反向传输请求信号,并在接收所述状态指示引脚返回的允许信号时,向所述状态指示引脚发送硬盘日志命令;其中,所述硬盘日志命令包括数据包重传命令。
在另一方面,所述根据所述解调数据确定有效数据包之后,还包括:
根据所述有效数据包,获取所述硬盘设备的硬盘日志;
将所述硬盘日志展示到网页界面。
在另一方面,所述基板管理控制器包括基板管理控制器芯片和复杂可编程逻辑器件,所述复杂可编程逻辑器件与硬盘设备的状态指示引脚连接,所述根据所述解调数据确定有效数据包之后,还包括:
所述复杂可编程逻辑器件利用数据包存储寄存器,将所述有效数据包依次发送到基板管理控制器芯片,以利用所述基板管理控制器芯片在网页界面中展示所述有效数据包对应的硬盘日志。
在另一方面,所述复杂可编程逻辑器件利用数据包存储寄存器,将所述有效数据包依次发送到基板管理控制器芯片,包括:
所述复杂可编程逻辑器件在所述基板管理控制器芯片从所述数据包存储寄存器中读取有效数据包的过程中,若识别到新的有效数据包,则将所述新的有效数据包存储到暂存寄存器。
在另一方面,所述复杂可编程逻辑器件在所述基板管理控制器芯片从所述数据包存储寄存器中读取有效数据包的过程中,若识别到新的有效数据包,则将所述新的有效数据包存储到暂存寄存器,包括:
所述复杂可编程逻辑器件判断所述基板管理控制器芯片的数据读取指令中的读取地址是否为所述数据包存储寄存器的地址;
若不为所述数据包存储寄存器的地址,则判断新数据标识或新数据暂存标识是否为存在状态;
若所述新数据标识或所述新数据暂存标识为存在状态,则将识别到新的有效数据包和/或所述暂存寄存器中存储的有效数据包更新到所述数据包存储寄存器,并将所述数据包存储寄存器对应的有效数据标识设置为存在状态;
若为所述数据包存储寄存器的地址,则在所述新数据标识为存在状态时,将识别到新的有效数据包存储到所述暂存寄存器,并将所述新数据暂存标识设置为存在状态。
在另一方面,所述将所述新的有效数据包存储到暂存寄存器之后,还包括:
若检测到所述基板管理控制器芯片读完所述数据包存储寄存器,则将所述暂存寄存器中的有效数据包更新到所述数据包存储寄存器。
在另一方面,所述复杂可编程逻辑器件通过集成电路总线与所述基板管理控制器芯片连接,所述若检测到所述基板管理控制器芯片读完所述数据包存储寄存器,则将所述暂存寄存器中的有效数据包更新到所述数据包存储寄存器,包括:
在所述基板管理控制器的数据读取指令中的读取地址为所述数据包存储寄存器的地址时,若总线读数据计数器的数值大于或等于数据阈值,则将所述数据包存储寄存器对应的有效数据标识设置为不存在状态。
本发明还提供了一种硬盘日志的数据解调装置,应用于基板管理控制器,包括:
接收模块,用于接收硬盘设备的状态指示引脚传输的电平信号;其中,所述电平信号为所述硬盘设备根据硬盘日志和所述状态指示引脚的原始状态输出信号调制得到的信号;所述原始状态输出信号包括恒定电平信号和/或恒定频率方波信号;
解调模块,用于识别所述电平信号中的目标矩形波信号各自对应的解调数据;其中,所述目标矩形波信号的宽度处于预设宽度范围内,所述解调数据包括所述硬盘设备的硬盘日志数据;
确定模块,用于根据所述解调数据确定有效数据包;其中,所述有效数据包包括连续的预设数量的所述解调数据,所述有效数据包内预设数据包内位置的解调数据为预设标识数据。
本发明还提供了一种硬盘日志的数据调制方法,应用于硬盘设备,包括:
获取待传输硬盘日志;
根据所述待传输硬盘日志,对状态指示引脚的原始状态输出信号进行调制,得到相应的电平信号;其中,所述原始状态输出信号包括恒定电平信号和/或恒定频率方波信号;
通过所述状态指示引脚将所述电平信号发送到基板管理控制器。
本发明还提供了一种硬盘日志的数据调制装置,应用于硬盘设备,包括:
日志获取模块,用于获取待传输硬盘日志;
信号调整模块,用于根据所述待传输硬盘日志,对状态指示引脚的原始状态输出信号进行调制,得到相应的电平信号;其中,所述原始状态输出信号包括恒定电平信号和/或恒定频率方波信号;
信号传输模块,用于通过所述状态指示引脚将所述电平信号发送到基板管理控制器。
本发明还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如上述所述的硬盘日志的数据解调方法或如上述所述的硬盘日志的数据调制方法的步骤。
此外,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的硬盘日志的数据解调方法或如上述所述的硬盘日志的数据调制方法的步骤。
本发明所提供的一种硬盘日志的数据解调方法,应用于基板管理控制器,包括:接收硬盘设备的状态指示引脚传输的电平信号;其中,电平信号为硬盘设备根据硬盘日志和状态指示引脚的原始状态输出信号调制得到的信号;原始状态输出信号包括恒定电平信号和/或恒定频率方波信号;识别电平信号中的目标矩形波信号各自对应的解调数据;其中,目标矩形波信号的宽度处于预设宽度范围内,解调数据包括硬盘设备的硬盘日志数据;根据解调数据确定有效数据包;其中,有效数据包包括连续的预设数量的解调数据,有效数据包内预设数据包内位置的解调数据为预设标识数据。
可见,本发明通过基板管理控制器与硬盘设备的状态指示引脚连接,采用以硬盘设备的状态指示引脚直接输出硬盘日志数据到基板管理控制器的方式实现对硬盘设备的带外监控,解决了传统硬盘带外监控方案中带外管理系统无权限访问硬盘数据以至于对硬盘设备的带外监控难以实现的问题,提高了基板管理控制器的可带外监控的硬盘设备范围;并且通过对状态指示引脚输出的电平信号的调制,在其原有的状态指示输出功能的基础上加入硬盘日志输出功能,由基板管理控制器对调制后的电平信号进行解调和处理后可得到硬盘日志数据,能够利用硬盘设备现有的状态指示引脚在不影响其原有功能的同时,实现硬盘日志的传输,降低了对硬盘设备的带外监控难度。此外,本发明还提供了一种硬盘日志的数据解调装置、数据调制方法、装置、电子设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的第一种硬盘监控系统的结构示意图;
图2为本发明实施例所提供的第二种硬盘监控系统的结构示意图;
图3为本发明实施例所提供的第三种硬盘监控系统的结构示意图;
图4为本发明实施例所提供的一种硬盘日志的数据解调方法的流程图;
图5为本发明实施例所提供的一种电平信号的调制方式的示意图;
图6为本发明实施例所提供的一种预设宽度范围内各预设宽度值与预设解调数据的对应关系展示图;
图7为本发明实施例所提供的另一种硬盘日志的数据解调方法的流程图;
图8为本发明实施例所提供的一种带外监控系统的示意图;
图9为本发明实施例所提供的一种电平宽度检测的示意图;
图10为本发明实施例所提供的一种有效数据包的确定流程的示意图;
图11为本发明实施例所提供的一种数据包存储寄存器的数据更新流程的示意图;
图12为本发明实施例所提供的一种新数据暂存标识的刷新流程的示意图;
图13为本发明实施例所提供的一种数据包存储寄存器的更新检测流程的示意图;
图14为本发明实施例所提供的一种硬盘日志的获取装置的结构框图;
图15为本发明实施例所提供的一种硬盘日志的数据调制方法的流程图;
图16为本发明实施例所提供的一种硬盘日志的数据调制装置的结构框图;
图17为本发明实施例所提供的一种电子设备的结构示意图;
图18为本发明实施例所提供的一种电子设备的具体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
硬盘设备作为服务器的重要部件,是带外监控管理的重要对象。按照通信接口的类型,主要分为串行连接小型计算机系统接口(Serial Attached SCSI,下文简称SAS)/串行高级技术附件(Serial Advanced Technology Attachment,下文简称SATA)接口硬盘以及非易失性内存主机控制器接口(Non Volatile Memory Host Controller InterfaceSpecification,NVMHCIS或NVM Express,下文简称NVMe)接口硬盘。其中,SAS接口兼容SATA接口。按照存储介质的类型,硬盘设备又主要分为机械硬盘(Hard Disk Drive,HDD)和固态硬盘(Solid State Disk或Solid State Drive,SSD)。其中,机械硬盘主要为SAS接口或SATA接口。固态硬盘包括SAS接口、SATA接口和NVMe接口硬盘。
基板管理控制器若想要获得硬盘日志,实现带外监控管理,则针对连接在硬盘扩展卡上的硬盘设备(如SAS接口和SATA接口硬盘),可以通过集成电路总线(Inter-Integrated Circuit,IIC或I2C)访问硬盘扩展卡,基板管理控制器运行监控软件向硬盘扩展卡发送透传命令,硬盘扩展卡能够将该透传命令转发至硬盘设备,硬盘设备响应该透传命令后将相应的硬盘日志数据发送至硬盘扩展卡,由硬盘扩展卡将硬盘日志数据转发至基板管理控制器。此外,NVMe接口硬盘可以通过高速串行计算机扩展总线直接连接中央处理器,可以通过硬盘设备与中央处理器之间的高速串行计算机扩展总线提供一路集成电路总线到基板管理控制器,以实现如硬盘扩展卡的为基板管理控制器转发命令以及硬盘日志数据的功能,此时才可以实现对硬盘设备的带外监控。
可以看到,在目前的服务器监控架构中,设备的业务数据出于保密需要,无法对外界展示,即运维人员没有权限访问带内数据以获取中央处理器所能读取到的硬盘日志,用于实现带外监控的基板管理控制器同样无法直接访问硬盘数据,导致对硬盘设备的带外监控功能的受限,使得带外监控方无法及时、准确地获得硬盘设备的运行状态,进而使硬盘存储可靠性面临威胁。
由于基板管理控制器与硬盘设备之间若不经过集成电路总线接口则没有数据通路,对于硬盘设备的带外监控只能借助支持通过集成电路总线接口接受透传命令的硬盘扩展卡或通过提供集成电路总线接口的高速串行计算机扩展总线,对于不存在该条件的硬盘设备,如高级主机控制器接口控制器之下的硬盘设备,则无法实现对其的带外监控。
图1为本发明实施例所提供的第一种硬盘监控系统的结构示意图;图2为本发明实施例所提供的第二种硬盘监控系统的结构示意图;图3为本发明实施例所提供的第三种硬盘监控系统的结构示意图。
对此,需要寻找一种能够适应更多硬盘连接方式的硬盘带外监控方案。如图1所示,本发明实施例提供一种硬盘监控系统,可以包括基板管理控制器和硬盘设备。
基板管理控制器的引脚与硬盘设备的状态指示引脚连接;
硬盘设备用于将硬盘日志和状态指示引脚对应的硬盘设备状态(即原始状态输出信号)调制得到电平信号,通过状态指示引脚输出电平信号;
基板管理控制器用于解调第一信号得到硬盘日志,以利用硬盘日志对硬盘设备进行监控。
需要说明的是,在本发明实施例中,基板管理控制器可以仅包括基板管理控制器芯片,也可以为包括基板管理控制器芯片和复杂可编程逻辑器件的系统,该复杂可编程逻辑器件可以只设于硬盘背板的复杂可编程逻辑器件或设于服务器主板的复杂可编程逻辑器件。
硬盘设备的引脚主要分为三类:数据引脚、电源引脚和硬盘状态引脚。其中,硬盘的数据引脚与带内系统连接,硬盘的电源引脚用于连接电源和地信号。因此,基板管理控制器能够直接访问的仅有硬盘的硬盘状态引脚。
硬盘设备的硬盘状态引脚主要包括状态指示引脚、硬盘生产调试引脚和硬盘空闲引脚。
其中,状态指示引脚包括硬盘在位状态指示引脚、硬盘读写状态指示引脚等。状态指示引脚为硬盘设备用于输出硬盘状态指示信号的引脚,例如硬盘在位状态指示引脚用于硬盘输出硬盘在位状态信号,硬盘读写状态指示引脚用于硬盘输出硬盘读写状态信号。当硬盘设备连接到硬盘背板后,状态指示引脚主要有两种连接方式,一种是连接到基板管理控制器以告知基板管理控制器相应的硬盘状态数据,另一种是连接到硬盘背板上的控制电路以控制相应的被控元件的状态以使用户获悉相应的硬盘状态。例如,硬盘背板上设有硬盘状态指示灯来指示硬盘运行状态。如硬盘在处于读写状态时可以控制硬盘读写状态指示引脚输出方波信号至硬盘读写状态指示灯的放大驱动电路以控制硬盘读写状态指示灯亮起,硬盘未处于读写状态(空闲状态)时则控制硬盘读写状态指示引脚输出一个恒定电平信号(如恒定高电平信号)使硬盘读写状态指示灯熄灭来指示自己处于空闲状态,以便用户通过观看硬盘读写状态指示灯的亮灭获悉硬盘是否处于读写状态。硬盘基于硬盘在位状态指示引脚的状态展示同理。或者,硬盘也可以通过这些状态指示引脚输出两种不同的恒定电平信号(一高一低)来指示不同的状态,该信号可以输入至基板管理控制器以便触发相应的记录、处理或控制。
硬盘生产调试引脚主要为SAS或SATA接口的硬盘设备在SAS或SATA接口旁的引脚(debug引脚),这些引脚通常是硬盘在生产调试阶段使用的,在硬盘实际使用中,生产调试引脚可以用于在硬盘初始化阶段输出引导信息。
而在NVMe接口硬盘上,除了上述状态指示引脚外,还包括硬盘空闲引脚。目前NVMe接口硬盘主要采用三种连接器,分别是M.2连接器、U.2连接器和CEM连接器。其中,M.2连接器的NVMe接口,不同的(Key)类型用于连接不同类型的设备,其中Key B和Key M可用于连接固态硬盘。当M.2规范的NVMe接口连接SATA接口的固态硬盘时,其P10引脚的定义与SAS或SATA接口的P11引脚定义相同,均为硬盘读写状态指示引脚。当M.2规范的NVMe接口连接NVMe接口硬盘时,其P10引脚定义为指示灯控制引脚。U.2连接器的NVMe接口与SAS及SATA接口完全兼容,其P11引脚也为硬盘读写状态指示引脚。CEM连接器的NVMe接口的A面的P32引脚为空闲引脚(Reserved引脚),也是除了硬盘数据引脚之外的硬盘状态引脚,且在x8(八线接口)及以上还存在多个空闲引脚。
上述硬盘状态引脚中的状态指示引脚并非硬盘设备用于输出数据的引脚,没有泄露硬盘设备中存储的用户数据的风险,目前在硬盘设备插入硬盘背板后,这些状态指示引脚有与基板管理控制器连接的权限。
在本发明实施例中,硬盘设备可以采用硬盘在位状态指示引脚和硬盘读写状态指示引脚等状态指示引脚,由于这些状态指示引脚通常已经与基板管理控制器中的基板管理控制器芯片的通用输入/输出口(General-purpose input/output,GPIO)引脚或复杂可编程逻辑器件的输入/输出(I/O)引脚连接,可以直接采用该硬件架构而不需要对服务器的硬件架构做出改动,实现简单方便。
在本发明实施例中,若采用硬盘在位状态指示引脚、硬盘读写状态指示引脚等状态指示引脚,由于这些硬盘状态引脚通常已经与基板管理控制器中的基板管理控制器芯片的通用输入/输出口(General-purpose input/output,GPIO)引脚或复杂可编程逻辑器件的输入/输出(I/O)引脚连接,可以直接采用该硬件架构而不需要对服务器的硬件架构做出改动,实现简单方便。
目前设备上的硬盘生产调试引脚通常是悬空的,通常包括4个引脚。若本发明实施例采用硬盘生产调试引脚作为硬盘输出硬盘日志数据的硬盘状态引脚,则可以采用相应数量引脚的连接器将硬盘生产调试引脚连接到基板管理控制器芯片的GPIO引脚或复杂可编程逻辑器件的I/O引脚上。
由于硬盘空闲引脚通常为NVMe接口硬盘的接口中才有,高速信号不能悬空,目前NVMe接口中的硬盘空闲引脚在硬盘连接到硬盘背板后是通过硬盘背板上的电阻电容电路接地的。若本发明实施例采用硬盘空闲引脚作为硬盘输出硬盘日志数据的硬盘状态引脚,则将硬盘空闲引脚与硬盘背板的连接关系改为连接至基板管理控制器芯片的GPIO引脚或复杂可编程逻辑器件的I/O引脚。
在本发明实施例的一些可选的实施方式中,针对串行连接小型计算机系统接口或串行高级技术附件接口硬盘(SAS或SATA接口的硬盘),如图2所示,SAS或SATA接口的硬盘可以连接在硬盘扩展卡上,也可以直接连接硬盘背板。在带内系统中,中央处理器通过高速串行计算机扩展总线访问硬盘扩展卡或直接访问SAS或SATA接口的硬盘的数据引脚的方式实现与硬盘的数据交互。在带外系统中,若硬盘扩展卡具有连接到基板管理控制器芯片的集成电路总线,则基板管理控制器芯片可以通过集成电路总线访问硬盘扩展卡,通过硬盘扩展卡向硬盘转发命令或硬盘日志数据。此外,在基板管理控制器中,基板管理控制器芯片还可以通过集成电路总线连接复杂可编程逻辑器件后,通过复杂可编程逻辑器件与硬盘的硬盘状态引脚连接。或者,基板管理控制器芯片还可以直接与硬盘的硬盘状态引脚连接。
此外,基板管理控制器芯片还可以通过集成电路总线与电可擦除可编程只读存储器(Electrically Erasable Programmable ROM,EEPROM)、传感器(sensor)连接。其中,电可擦除可编程只读存储器用于存储服务器部件的固件或服务器部件的寄存器值,传感器设于服务器背板或服务器主板上,用于采集服务器部件的温度和风速等物理状态数据。
当基板管理控制器芯片通过一路集成电路总线连接多个部件时,基板管理控制器芯片可以通过部件地址来访问对应的部件,对于同一个部件,也可以通过访问该部件不同寄存器的地址来实现访问。例如,基板管理控制器芯片可以通过访问复杂可编程逻辑器件的固件更新地址来控制复杂可编程逻辑器件更新固件。
在本发明实施例的一些可选的实施方式中,针对非易失性内存主机控制器接口硬盘(NVMe接口硬盘),如图3所示,NVMe接口硬盘也可以连接在硬盘扩展卡或直接连接在硬盘背板上。在带内系统中,中央处理器经过交换机(switch)使用高速串行计算机扩展总线协议与NVMe接口硬盘交互传输数据(传输指令、获取硬盘数据等)。中央处理器还可以通过多路双向转换开关使用NVMe的虚拟引脚端口(Virtual Pin Port,VPP)的方式连接多个硬盘背板,硬盘背板使用通用输入/输出口(General-purpose input/output,GPIO)与NVMe接口硬盘获取或控制硬盘状态信息,如控制硬盘定位灯和故障灯。基板管理控制器与NVMe接口硬盘的连接方式与SAS或SATA接口的硬盘同理。与SAS或SATA接口的硬盘不同的是,基板管理控制器芯片可以通过集成电路总线连接至NVMe接口硬盘的集成电路总线接口,基板管理控制器芯片的一路集成电路总线连接多个NVMe接口硬盘时,可以设置多路双向转换开关来选通与基板管理控制器芯片连通的NVMe接口硬盘,实现基板管理控制器芯片通过集成电路总线与NVMe接口硬盘的交互。
基于上述硬盘监控系统实施例,本发明实施例提供了一种硬盘日志的数据解调方法。请参考图4,该方法应用于基板管理控制器,可以包括:
步骤101:接收硬盘设备的状态指示引脚传输的电平信号;其中,电平信号为硬盘设备根据硬盘日志和状态指示引脚的原始状态输出信号调制得到的信号;原始状态输出信号包括恒定电平信号和/或恒定频率方波信号。
可以理解的是,本实施例中硬盘设备的状态指示引脚可以为硬盘设备中设置的用于通过输出的恒定电平信号和/或恒定频率方波信号指示相应的硬盘设备状态的引脚;恒定电平信号可以包括恒定高电平信号和/或恒定低电平信号。本实施例中硬盘设备的状态指示引脚传输的电平信号可以由状态指示引脚的原始状态输出信号和硬盘日志调制得到,使得硬盘设备在通过硬盘读写状态指示引脚输出相应的硬盘设备状态时,能够同时输出硬盘日志的数据(即硬盘日志数据)。
相应的,本实施例中的原始状态输出信号可以为状态指示引脚在不需要输出硬盘日志对应的电平信号时输出的仅用于指示相应的硬盘设备状态的信号,即恒定电平信号和/或恒定频率方波信号。本实施例中的硬盘日志可以为硬盘设备的运行情况的日志,例如硬盘运行的错误日志(如读错误日志和写错误日志)。
对应的,对于本实施例中的状态指示引脚的具体引脚类型,可以由设计人员根据实用场景和用户需求自行设置,例如,状态指示引脚可以采用硬盘在位状态指示引脚,即硬盘在位状态指示引脚可以输出硬盘设备当前的硬盘在位状态,如硬盘设备当前在位的在位状态或硬盘设备当前不在位的不在位状态;举例来说,状态指示引脚采用硬盘在位状态指示引脚时,原始状态输出信号可以包括在位状态对应的恒定高电平信号和不在位状态对应的恒定低电平信号。状态指示引脚也可以采用如硬盘读写状态指示引脚的其它状态指示引脚,例如状态指示引脚采用硬盘读写状态指示引脚时,硬盘读写状态指示引脚可以输出硬盘设备当前的硬盘读写状态,如正在进行数据读写的活跃状态或未进行数据读写的空闲状态;原始状态输出信号可以包括活跃状态对应的恒定频率方波信号和空闲状态对应的恒定高电平信号。本实施例对此不做任何限制。
其中,对于本实施例中硬盘设备的具体硬盘类型,可以由设计人员自行设置,如硬盘设备可以为机械硬盘,也可以为固态硬盘;只要硬盘设备的硬盘读写状态指示引脚可以与基板管理控制器通过信号线连接,以使基板管理控制器能够根据接收硬盘读写状态指示引脚输出的电平信号,解调得到相应硬盘日志的有效数据包,本实施例对此不做任何限制。
需要说明的是,本实施例中所提供的基板管理控制器可以为包括基板管理控制器芯片的基板管理控制器系统。如基板管理控制器可以仅包括基板管理控制器芯片;由于基板管理控制器芯片的性能和引脚数量有限,随着需要监控的部件数量和需要监控的项目的增加,基板管理控制器还可以包括与基板管理控制器芯片通信连接的复杂可编程逻辑器件(Complex Programmable logic device,CPLD),以利用该复杂可编程逻辑器件来实现对基板管理控制器芯片的性能压力分担以及提供更多的引脚来连接相应的传感器或被监控部件;该复杂可编程逻辑器件可以为设置在硬盘背板的复杂可编程逻辑器件或设于主板的复杂可编程逻辑器件。
对应的,本实施例并不限定基板管理控制器与硬盘设备的状态指示引脚的具体连接方式,如基板管理控制器中的基板管理控制器芯片可以与硬盘设备的状态指示引脚连接,即本实施例所提供的方法可以应用于基板管理控制器的基板管理控制器芯片;例如,基板管理控制器芯片可以通过GPIO(General-purpose input/output,通用输入/输出口)引脚与硬盘设备的状态指示引脚连接,以对基板管理控制器的GPIO引脚的脉冲解调功能进行复用,方便硬盘日志的对应的解调分析,并且不需要对服务器的硬件架构做出改动,实现简单方便。基板管理控制器包括基板管理控制器芯片和复杂可编程逻辑器件的情况下,基板管理控制器中的复杂可编程逻辑器件可以与硬盘设备的状态指示引脚连接,即本实施例所提供的方法可以应用于基板管理控制器的复杂可编程逻辑器件片;例如,复杂可编程逻辑器件片可以通过I/O(input/output,输入/输出)引脚与硬盘设备的状态指示引脚连接。
步骤102:识别电平信号中的目标矩形波信号各自对应的解调数据;其中,目标矩形波信号的宽度处于预设宽度范围内,解调数据包括硬盘设备的硬盘日志数据。
可以理解的是,本实施例中的目标矩形波信号可以为状态指示引脚输出的预设宽度范围内的矩形波信号,即传输硬盘日志时所需使用的矩形波信号。也就是说,硬盘设备可以将需要传输的硬盘日志转换为预设宽度范围内相应的矩形波信号(即目标矩形波信号),通过状态指示引脚输出到基板管理控制器,实现硬盘日志的传输。
相应的,在一些实施例中,原始状态输出信号可以包括恒定电平信号,如恒定高电平信号和/或恒定低电平信号,如状态指示引脚采用硬盘在位状态指示引脚时,原始状态输出信号可以包括在位状态对应的恒定高电平信号和不在位状态对应的恒定低电平信号,即硬盘设备处于在位状态和不在位状态时均可以通过硬盘在位状态指示引脚输出硬盘日志对应的电平信号(目标矩形波信号)。在另一些实施例中,目标矩形波信号也可以包括恒定频率方波信号,如状态指示引脚采用硬盘读写状态指示引脚时,原始状态输出信号可以包括活跃状态对应的恒定频率方波信号,即硬盘设备处于活跃状态时可以通过硬盘读写状态指示引脚输出硬盘日志对应的电平信号。在另一些实施例中,目标矩形波信号还可以包括恒定电平信号和恒定频率方波信号,如状态指示引脚采用硬盘读写状态指示引脚时,原始状态输出信号可以包括活跃状态对应的恒定频率方波信号和空闲状态对应的恒定电平信号(如恒定高电平信号或恒定低电平信号),即硬盘设备处于活跃状态和空闲状态时可以通过硬盘读写状态指示引脚输出硬盘日志对应的电平信号。
其中,对于目标矩形波信号的具体设置,可以由设计人员根据实用场景和用户需求自行设置,如为了减少硬盘设备端的改动和运算量,硬盘读写状态指示引脚输出的电平信号可以分时携带硬盘设备状态和硬盘日志各自对应的电平信号;也就是说,硬盘设备可以在状态指示引脚输出硬盘设备状态对应的电平信号(即原始状态输出信号)过程中,插入硬盘日志对应的电平信号(即矩形波信号);例如,硬盘设备在获取需要传输的硬盘日志并将该硬盘日志转换为对应的矩形波信号后,暂停通过状态指示引脚输出的原始状态输出信号,并输出该硬盘日志转换为对应的矩形波信号;在该硬盘日志转换为对应的矩形波信号输出完成后,恢复原始状态输出信号的输出;其中,相邻两个硬盘日志转换各自对应的矩形波信号之间可以包括原始状态输出信号,以提高硬盘读写状态传输的及时性。
在另一些实施例中,硬盘读写状态指示引脚输出的电平信号可以同时携带硬盘设备状态和硬盘日志各自对应的电平信号,以提高硬盘日志的传输效率和硬盘读写状态传输的及时性。举例来说,原始状态输出信号包括恒定电平信号的情况下,目标矩形波信号可以包括在恒定电平信号中插入调制电平信号得到的矩形波信号,调制电平信号与恒定电平信号反相,调制电平信号的宽度小于预设宽度范围的下边界,目标矩形波信号的宽度与硬盘日志相关,以通过在恒定电平信号中插入较窄的反相电平的方式,实现硬盘设备状态和硬盘日志对应的电平信号的调制。例如,原始状态输出信号包括恒定高电平信号时,如图5所示,可以通过在恒定高电平信号中插入极窄低电平(即时间极短的反相电平)的方式,实现硬盘日志对应的预设宽度范围内的高电平矩形波的配置;高电平矩形波可以为由上升沿、持续一定时间的高电平和下降沿组成的矩形波。
对应的,为了提高硬盘日志的传输效率,还可以直接将恒定电平信号替换为硬盘日志对应的预设宽度范围的高电平矩形波和低电平矩形波,即原始状态输出信号可以包括某一恒定电平信号(如恒定高电平信号或恒定低电平信号)对应的高电平矩形波和低电平矩形波。
相应的,原始状态输出信号包括恒定频率方波信号的情况下,可以对恒定频率方波信号中的高电平矩形波和/或低电平矩形波进行脉宽调制,实现硬盘设备状态和硬盘日志对应的电平信号的调制。如为了提高硬盘日志的传输效率,目标矩形波信号可以包括对恒定频率方波信号中的高电平矩形波进行调制得到的高电平矩形波和对恒定频率方波信号中的低电平矩形波进行调制得到的低电平矩形波;低电平矩形波可以为由下降沿、持续一定时间的低电平和上升沿组成的矩形波。
举例来说,状态指示引脚采用硬盘读写状态指示引脚的情况下,由于常规的硬盘读写状态指示引脚通常在空闲状态时输出的恒定高电平信号,在活跃状态时输出固定周期的方波(即恒定频率方波信号);也就是说,原始状态输出信号包括硬盘读写状态为空闲状态时的恒定高电平信号和硬盘读写状态为活跃状态时的恒定频率方波信号;目标矩形波信号可以包括硬盘读写状态指示引脚在空闲状态时输出的高电平矩形波和硬盘读写状态指示引脚在活跃状态时输出的高电平矩形波和低电平矩形波。
可以理解的是,本实施例中的预设宽度范围可以为硬盘日志对应的电平信号的宽度所处的范围,即预先设置的能够转换为相应的解调数据的宽度的范围。对于本实施例中预设宽度范围的具体数量设置,可以由设计人员根据实用场景和用户需求自行设置,如预设宽度范围的数量可以为1,即基板管理控制器可以利用一个固定的预设宽度范围,识别状态指示引脚在一种硬盘设备状态或两种不同硬盘设备状态(如空闲状态和活跃状态)时输出的目标矩形波信号各自对应的解调数据。例如,状态指示引脚采用硬盘读写状态指示引脚的情况下,原始状态输出信号包括空闲状态时的恒定高电平信号和活跃状态时的恒定频率方波信号,目标矩形波信号包括硬盘读写状态指示引脚在空闲状态时输出的高电平矩形波和硬盘读写状态指示引脚在活跃状态时输出的高电平矩形波和低电平矩形波,基板管理控制器可以利用一个预设宽度范围,识别硬盘读写状态指示引脚输出的电平信号中的目标矩形波信号,并确定各目标矩形波信号各自对应的解调数据;并且可以通过调制电平信号(即极窄低电平)的检测,实现硬盘日志传输过程中硬盘设备的硬盘读写状态的识别。
相应的,在一些实施例中预设宽度范围的数量也可以为2,即预设宽度范围包括第一宽度范围和第二宽度范围,第一宽度范围和第二宽度范围不相交,以通过第一宽度范围和第二宽度范围的设置,使得硬盘设备在两种不同硬盘设备状态时均可以通过调制的连续的高电平矩形波和低电平矩形波传输硬盘日志对应的电平信号(即目标矩形波信号),提高硬盘日志的传输效率。举例来说,原始状态输出信号包括恒定高电平信号和恒定低电平信号,如硬盘在外状态指示引脚的在位状态对应的恒定高电平信号和不在位状态对应的恒定低电平信号;目标矩形波信号可以包括第一目标矩形波信号(即宽度在第一宽度范围内的硬盘日志对应的高电平矩形波)和第二目标矩形波信号(即宽度在第二宽度范围内的硬盘日志对应的高电平矩形波和低电平矩形波);基板管理控制器可以利用第一宽度范围,识别状态指示引脚输出的电平信号中的第一目标矩形波信号,并确定各第一目标矩形波信号各自对应的解调数据;利用第二宽度范围,识别状态指示引脚输出的电平信号中的第二目标矩形波信号,并确定各第二目标矩形波信号各自对应的解调数据;并且可以通过状态指示引脚输出的电平信号的宽度检测,实现硬盘日志传输过程中硬盘设备状态的识别,如在检测到连续目标数量(如3)个矩形波的宽度均在第一宽度范围内时确定硬盘读写状态为空闲状态,在检测到连续目标数量个矩形波的宽度均在第二宽度范围内时确定硬盘读写状态为活跃状态。
其中,对于本实施例中预设宽度范围的具体范围值的设置,可以由设计人员根据实用场景和用户需求自行设置,如硬盘设备的硬盘读写状态指示引脚以十六进制的传输硬盘日志时,预设宽度范围可以包括十六进制的数值(1-F)各自对应的预设宽度值;相应的,以其它进制(如十进制或三十二进制)的传输硬盘日志时,预设宽度范围可以包括其它进制的数值各自对应的预设宽度值,如预设宽度范围也可以三十二进制的数值各自对应的预设宽度值。进一步的,为了方便硬盘日志对应的数据包(即有效数据包)的传输识别,预设宽度范围还可以包括预设标识数据对应的预设宽度值;如图6所示,预设宽度范围可以包括42-58ms这17个预设宽度值(时间),即十六进制的数值(解调数据)分别对应的42-49ms和51-58ms这16个预设宽度值和预设标识数据(空值null)对应的50ms。
可以理解的是,本实施例是以基板管理控制器对硬盘设备的指示引脚输出的电平信号对应的硬盘日志的数据包(即有效数据包)获取过程为例进行的展示,相应的,基板管理控制器还可以根据硬盘设备的状态指示引脚输出的电平信号,识别硬盘设备的硬盘设备状态。举例来说,步骤102中基板管理控制器可以根据状态指示引脚输出的电平信号,识别电平信号中的目标矩形波信号各自对应的解调数据和硬盘设备的硬盘设备状态。
相应的,基板管理控制器还可以根据识别到的硬盘设备状态,对应控制硬盘状态指示灯的亮起和熄灭,以利用基板管理控制器对硬盘设备状态的识别,实现硬盘状态指示灯的单独控制,不需利用状态指示引脚输出的电平信号直接控制硬盘状态指示灯,避免由于在状态指示引脚输出的电平信号中调制加入硬盘日志数据,使得硬盘状态指示灯的硬盘设备状态展示方式(如常亮和常亮)与原有展示方式不同的情况。
需要说明的是,对于步骤102中本实施例中基板管理控制器识别电平信号中的目标矩形波信号各自对应的解调数据的具体方式,可以由设计人员自行设置,如基板管理控制器可以检测状态指示引脚输出的电平信号的上升沿和下降沿;根据上升沿和下降沿,确定各电平信号的宽度;根据宽度和预设宽度范围,确定电平信号中的目标矩形波信号各自对应的解调数据,实现检测状态指示引脚传输的硬盘日志数据的解调。
相应的,原始状态输出信号仅包括恒定电平信号(如恒定高电平信号和恒定低电平信号),目标矩形波信号仅包括在恒定电平信号中插入调制电平信号得到的矩形波信号时,基板管理控制器也可以检测状态指示引脚输出的电平信号的上升沿或下降沿;根据上升沿或下降沿,利用调制电平信号的预设宽度,确定各电平信号的宽度;根据宽度和预设宽度范围,确定电平信号中的目标矩形波信号各自对应的解调数据。
步骤103:根据解调数据确定有效数据包;其中,有效数据包包括连续的预设数量的解调数据,有效数据包内预设数据包内位置的解调数据为预设标识数据。
可以理解的是,本实施例中的有效数据包可以为用于传输硬盘日志中的硬盘日志数据的数据包。本实施例中的有效数据包可以包括连续的预设数量的解调数据,即识别到的硬盘读写状态指示引脚依次输出的预设数量的目标矩形波信号对应的解调数据。本实施例中的预设数量可以为有效数据包内的解调数据的数量;本实施例并不限定预设数量的具体数值,如预设数量可以9,即有效数据包可以由依次接收的9个目标矩形波信号对应的解调数据组成;预设数量可以为其他数值,如10或8。
对应的,对于本实施例中有效数据包的具体内容设置,可以由设计人员根据实用场景和用户需求自行设置,如有效数据包不仅可以包括硬盘日志数据,还可以包括有效数据包内第一预设包内位置的预设标识数据,以通过预设标识数据的设置,使基板管理控制器能够正确识别完整的有效数据包;例如,第一预设包内位置可以为数据包起始位置,即基板管理控制器可以将以预设标识数据为开头的连续预设数量的解调数据确定为一个有效数据包;第一预设包内位置可以为开头位置也可以为数据包内预设数量个位置中的其他位置,如数据包结尾位置,即基板管理控制器可以将以预设标识数据为结尾位置的连续预设数量的解调数据确定为一个有效数据包。
也就是说,本实施例中基板管理控制器可以通过对预设标识数据的识别,将连续的预设数量的解调数据确定为硬盘日志的有效数据包,以实现硬盘日志的数据包传输,方便后续硬盘日志的转发或获取。
对应的,本实施例中的基板管理控制器包括基板管理控制器芯片和复杂可编程逻辑器件,复杂可编程逻辑器件与硬盘设备的状态指示引脚连接,即本实施例所提供的方法应用于基板管理控制器芯片连接的复杂可编程逻辑器件的情况下,步骤103之后复杂可编程逻辑器件可以将有效数据包依次转发到基板管理控制器芯片,以利用基板管理控制器芯片在网页界面中展示有效数据包对应的硬盘日志。相应的,基板管理控制器芯片可以根据复杂可编程逻辑器件发送的有效数据包,获取硬盘设备的硬盘日志,并将硬盘日志展示到网页界面,以实现硬盘日志的带外监控;也就是说,由于复杂可编程逻辑器件运算能力较差,本实施例中可以将利用有效数据包拼接硬盘日志的过程放置到基板管理控制器芯片上进行。同样的,步骤103之后复杂可编程逻辑器件也可以根据有效数据包,获取硬盘设备的硬盘日志;将硬盘日志发送到基板管理控制器芯片,以利用基板管理控制器芯片在网页界面中展示硬盘日志。本实施例对此不做任何限制。
在另一些实施例中,基板管理控制器中的基板管理控制器芯片可以与硬盘设备的状态指示引脚连接,即本实施例所提供的方法可以应用于基板管理控制器芯片,步骤103之后基板管理控制器芯片可以根据有效数据包,获取硬盘设备的硬盘日志,并将硬盘日志展示到网页界面,以实现硬盘日志的带外监控。
本实施例中,本发明实施例通过基板管理控制器与硬盘设备的状态指示引脚连接,采用以硬盘设备的状态指示引脚直接输出硬盘日志数据到基板管理控制器的方式实现对硬盘设备的带外监控,解决了传统硬盘带外监控方案中带外管理系统无权限访问硬盘数据以至于对硬盘设备的带外监控难以实现的问题,提高了基板管理控制器的可带外监控的硬盘设备范围;并且通过对状态指示引脚输出的电平信号的调制,在其原有的状态指示输出功能的基础上加入硬盘日志输出功能,由基板管理控制器对调制后的电平信号进行解调和处理后可得到硬盘日志数据,能够利用硬盘设备现有的状态指示引脚在不影响其原有功能的同时,实现硬盘日志的传输,降低了对硬盘设备的带外监控难度。
基于上述实施例中,请参考图7,图7为本发明实施例所提供的另一种硬盘日志的数据解调方法的流程图。该方法应用于基板管理控制器中的复杂可编程逻辑器件,可以包括:
步骤201:接收硬盘设备的状态指示引脚传输的电平信号;其中,电平信号为硬盘设备根据硬盘日志和状态指示引脚的原始状态输出信号调制得到的信号;原始状态输出信号包括恒定高电平信号、恒定低电平信号和恒定频率方波信号中的任意两项。
可以理解的是,本实施例中的基板管理控制器可以包括基板管理控制器芯片和复杂可编程逻辑器件,基板管理控制器芯片与复杂可编程逻辑器件通信连接,如采用I2C(Inter-Integrated Circuit,集成电路总线)总线连接;如图8所示,基板管理控制器芯片与复杂可编程逻辑器件可以通过I2C总线的双向数据线(SDA)和时钟线(SCL)连接;复杂可编程逻辑器件可以与硬盘设备的状态指示引脚连接,即本实施例所提供的硬盘日志的数据解调方法应用于基板管理控制器中的复杂可编程逻辑器件,以利用复杂可编程逻辑器件中设置的解调逻辑,对状态指示引脚传输的电平信号进行解调,以得到相应的有效数据包,即数据包形式的硬盘日志。
对应的,本实施例中的原始状态输出信号可以包括恒定高电平信号、恒定低电平信号和恒定频率方波信号中的任意两项,即硬盘设备在处于状态指示引脚对应的两种硬盘设备状态时均能够通过状态指示引脚输出硬盘日志对应的电平信号。
步骤202:检测电平信号的上升沿和下降沿。
其中,本实施例中复杂可编程逻辑器件可以对硬盘设备的状态指示引脚传输的电平信号的上升沿和下降沿进行检测,即检测硬盘设备的状态指示引脚输入到复杂可编程逻辑器件的电平变化,以利用检测到的上升沿和下降沿,区分状态指示引脚传输的各电平信号,即每个电平信号可以为由上升沿、下降沿和持续一定时间的高电平或低电平组成的矩形波。
步骤203:根据上升沿和下降沿,确定各电平信号的宽度。
需要说明的是,本步骤中复杂可编程逻辑器件可以利用检测到的上升沿和下降沿,确定硬盘设备的状态指示引脚传输的各电平信号的宽度(即持续时间)。
对应的,对于本步骤中复杂可编程逻辑器件根据上升沿和下降沿,确定各电平信号的宽度的具体方式,可以由设计人员根据使用场景和用户需求自行设置,复杂可编程逻辑器件可以在未检测到上升沿或下降沿时,持续利用计数器进行计数,更新计数器的计数值;在检测到上升沿或下降沿时,将计数器的计数值作为该上升沿或下降沿对应的传输完成的一个电平信号的宽度,即每检测到一次上升沿或下降沿,可以说明接收了一个电平信号(即矩形波)。
如图9所示,本步骤中复杂可编程逻辑器件可以在检测到上升沿时,将上升沿状态寄存器中的上升沿状态标识(如pos)设置为存在状态(如1),利用计数器(如pin_cnt计数器)的计数值更新宽度寄存器(如hdd_pin_cnt_data寄存器)中的宽度,并将计数器清零;在检测到下降沿时,将下降沿状态寄存器中的下降沿状态标识(如neg)设置为存在状态,利用计数值更新宽度寄存器中的宽度,并将计数器清零;在未检测到上升沿或下降沿时,将上升沿状态标识和下降沿状态标识均设置为不存在状态,并持续利用计数器进行计数,更新计数器的计数值;例如在未检测到上升沿或下降沿时每毫秒进行一次计数器进行累加计数,更新计数器中的计数值,如图9中的计数器的计数值+1,即每毫秒将计数器中的计数值+1。
进一步的,为了减少计数器的无效计数对复杂可编程逻辑器件的影响;如图9所示,本实施例中在持续利用计数器进行计数,更新计数器的计数值之后,可以判断更新后的计数值是否大于计数阈值;若大于计数阈值,则停止计数器的计数;若不大于计数阈值,则继续进行持续利用计数器进行计数,更新计数值的步骤。
步骤204:根据宽度和预设宽度范围,确定电平信号中的目标矩形波信号各自对应的解调数据。
需要说明的是,本实施例中通过一个预设宽度范围的设置,便可实现状态指示引脚对应的两种硬盘设备状态下的硬盘日志对应的电平信号(即目标矩形波信号)的解调,提高了电平信号的解调效率。
对应的,本步骤中复杂可编程逻辑器件可以根据确定的各电平信号的宽度和预设宽度范围,确定电平信号中预设宽度范围内的矩形波信号(即目标矩形波信号)各自对应的解调数据。如图10所示,复杂可编程逻辑器件可以在上升沿状态标识或下降沿状态标识为存在状态(如pos=1或neg=1)时,判断宽度寄存器(如hdd_pin_cnt_data寄存器)中的宽度是否处于预设宽度范围内;若处于预设宽度范围,则根据预设解调关系信息,确定宽度寄存器中的宽度对应的解调数据。其中,预设解调关系信息包括预设宽度范围内的各预设宽度值与各自对应的预设解调数据的对应关系信息,预设解调数据包括预设标识数据和有效数据;如图10所示,预设解调数据可以包括十六进制的数值(0-F)16个有效数据和1个预设标识数据(null)。
其中,本实施例中复杂可编程逻辑器件还可以根据确定的电平信号的宽度,识别硬盘设备的硬盘设备状态;根据硬盘设备状态,对应控制硬盘状态指示灯的亮起和熄灭。如状态指示引脚为硬盘读写状态指示引脚时,若目标矩形波信号包括硬盘读写状态指示引脚在空闲状态时输出的高电平矩形波和硬盘读写状态指示引脚在活跃状态时输出的高电平矩形波和低电平矩形波;则复杂可编程逻辑器件可以在检测到宽度小于预设宽度范围的下边界的低电平矩形波时,确定硬盘设备处于空闲状态;在检测到宽度不小于预设宽度范围的下边界的低电平矩形波时,确定硬盘设备处于活跃状态。
对应的,对于本实施例中复杂可编程逻辑器件根据识别到的硬盘设备状态,对应控制硬盘状态指示灯的亮起和熄灭的具体方式,可以由设计人员自行设置,如复杂可编程逻辑器件可以直接与硬盘读写状态指示灯连接,根据识别到的硬盘设备状态,对应驱动硬盘状态指示灯的亮起和熄灭;如图8所示,复杂可编程逻辑器件内可以设置指示灯驱动模块,以通过指示灯驱动模块输出识别到的硬盘设备状态对应的驱动信号,对应驱动硬盘状态指示灯的亮起和熄灭;例如,识别到硬盘设备处于活跃状态时,可以通过指示灯驱动模块输出10Hz的驱动信号,以驱动相应的硬盘状态指示灯(即硬盘读写状态指示灯)闪烁。复杂可编程逻辑器件也可以通过状态控制电路连接到硬盘状态指示灯;根据识别到的硬盘设备状态,对应控制状态控制电路驱动硬盘状态指示灯的亮起和熄灭;状态控制电路可以包括放大驱动电路。
步骤205:根据解调数据确定有效数据包;其中,有效数据包包括连续的预设数量的解调数据,有效数据包内预设数据包内位置的解调数据为预设标识数据。
可以理解的是,本实施例中的有效数据包可以为用于传输硬盘日志中的硬盘日志数据的数据包。本实施例中的有效数据包可以包括连续的预设数量的解调数据,即识别到的硬盘读写状态指示引脚依次输出的预设数量的目标矩形波信号对应的解调数据。本实施例中的预设数量可以为有效数据包内的解调数据的数量。
对应的,本步骤中复杂可编程逻辑器件根据解调数据确定有效数据包的具体方式,可以由设计人员自行设置,如复杂可编程逻辑器件可以在检测到连续的预设数量的解调数据中预设数据包内位置的解调数据为预设标识数据时,将这预设数量个连续的解调数据确定为一个有效数据包。
举例来说,如图10所示,复杂可编程逻辑器件可以在宽度寄存器中的宽度对应的解调数据为预设标识数据(null)时,则将无效状态寄存器中的无效状态标识(如null_flag)设置为存在状态(如1'b1),将有效状态寄存器中的有效状态标识(如data_code_flag)设置为不存在状态(1'b0),利用脉冲数据寄存器(如data_code寄存器)存储解调数据,将脉冲数量计数器中的数值(如cnt)加1;利用无效数据寄存器(如nibble_flag寄存器)存储无效状态寄存器中的无效状态标识(如1'b1),并对无效数据寄存器中的数据进行移位操作;利用数据包寄存器(如data_code_temp寄存器)存储脉冲数据寄存器中的解调数据(data_code),并对数据包寄存器中的数据进行移位操作;判断脉冲数量计数器中的数值是否为预设数量(如9);若为预设数量,则判断无效数据寄存器中的数据是否为预设数据(如100000000);若为预设数据,则将数据包寄存器中的数据确定为有效数据包。
相应的,复杂可编程逻辑器件可以在宽度寄存器中的宽度对应的解调数据为有效数据(0-F)时,则将无效状态寄存器中的无效状态标识(如null_flag)设置为不存在状态(如1'b0),将有效状态寄存器中的有效状态标识(如data_code_flag)设置为存在状态(如1'b1),利用脉冲数据寄存器(如data_code寄存器)存储解调数据,将脉冲数量计数器中的数值(如cnt)加1;利用无效数据寄存器(如nibble_flag寄存器)存储无效状态寄存器中的无效状态标识(如1'b0),并对无效数据寄存器中的数据进行移位操作;利用数据包寄存器存储脉冲数据寄存器中的解调数据(data_code),并对数据包寄存器中的数据进行移位操作;执行上述判断脉冲数量计数器中的数值是否为预设数量的步骤。
也就是说,如图10所示,预设数量为9时,无效数据寄存器(如nibble_flag寄存器)可以用于存储预设数量的无效状态标识,每存储新的无效状态标识可以将无效数据寄存器内之前的数据向前移动一位,之前第1位的数据抛弃,以使新的无效状态标识能够存储在最后一位,如新的无效状态标识为存在状态时,nibble_flag = {nibble_flag[8:0],1'b1};新的无效状态标识为不存在状态时,nibble_flag = {nibble_flag[8:0],1'b0}。数据包寄存器(诶data_code_temp寄存器)可以用于存储预设数量的解调数据,解调数据为十六进制的数据时,每存储新的解调数据可以将数据包寄存器内之前的数据向前移动4位,之前第1-4位的数据(即一个解调数据)抛弃,以使新的解调数据能够存储在最后4位,如data_code_temp[35:0] ={data_code_temp[31:0],data_code}。
对应的,上述判断脉冲数量计数器中的数值是否为预设数量之后,若确定脉冲数量计数器中的数值不为预设数量,则可以等待再次检测到在上升沿状态标识或下降沿状态标识为存在状态的情况,上述判断无效数据寄存器中的数据是否为预设数据之后,若确定无效状态寄存器中的数据不为预设数据,可以将脉冲数量计数器中的数值-1,以使再次检测到在上升沿状态标识或下降沿状态标识为存在状态时,脉冲数量计数器中的数值依旧能够达到预设数量。
步骤206:将有效数据包依次发送到基板管理控制器芯片,以利用基板管理控制器芯片在网页界面中展示有效数据包对应的硬盘日志。
可以理解的是,本实施例中复杂可编程逻辑器件可以将确定的有效数据包依次转发到基板管理控制器芯片。相应的,基板管理控制器芯片可以根据复杂可编程逻辑器件发送的有效数据包,获取硬盘设备的硬盘日志,并将硬盘日志展示到网页界面,以实现硬盘日志的带外监控。
对应的,本实施例中复杂可编程逻辑器件利用数据包存储寄存器,将有效数据包依次发送到基板管理控制器芯片,以利用基板管理控制器芯片在网页界面中展示有效数据包对应的硬盘日志。如图10所示,复杂可编程逻辑器件可以在将数据包寄存器中的数据确定为有效数据包,将数据包寄存器中的数据作为新的有效数据包输出,并将新数据标识(如valid_data_refresh_flag)设置为存在状态,以使复杂可编程逻辑器件能够根据新数据标识,将新的有效数据包存储到数据包存储寄存器。
进一步的,为了避免基板管理控制器芯片读取数据包存储寄存器中的有效数据包时,数据包存储寄存器中的数据内容不被更新,本实施例中复杂可编程逻辑器件可以复在基板管理控制器芯片从数据包存储寄存器中读取有效数据包的过程中,若识别到新的有效数据包,则将新的有效数据包存储到暂存寄存器。也就是说,复杂可编程逻辑器件可以通过暂存寄存器的设置,利用暂存寄存器暂时新的有效数据包,在不影响后续有效数据包的确定输出的基础上,使数据包存储寄存器中的数据内容不会在基板管理控制器芯片读取时更新,保证基板管理控制器芯片读取的有效数据包的准确性。
如图11和图12所示,基板管理控制器芯片通过I2C总线对背板的复杂可编程逻辑器件进行读操作时,访问的数据包存储寄存器的地址可以为0x60;复杂可编程逻辑器件可以判断基板管理控制器芯片的数据读取指令(如bmc_cmd)中的读取地址是否为数据包存储寄存器的地址(即8'h60);若不为数据包存储寄存器的地址,则判断新数据标识(如valid_data_refresh_flag)或新数据暂存标识(如valid_refresh_temp)是否为存在状态(如1'b1);若新数据标识或新数据暂存标识为存在状态,则将识别到新的有效数据包(如去除null的byte[31:0])或暂存寄存器中存储的有效数据包更新到数据包存储寄存器(如HDD0_byte0_reg寄存器),等待基板管理控制器芯片的读取,并将数据包存储寄存器对应的有效数据标识(如valid_map)设置为存在状态,还可以将新数据标识和新数据暂存标识设置为不存在状态;若为数据包存储寄存器的地址,则在新数据标识为存在状态时,将识别到新的有效数据包存储到暂存寄存器,并将新数据暂存标识设置为存在状态,保持数据包存储寄存器内的数据内容不变,还可以将新数据标识设置为不存在状态。
相应的,本实施例中暂存寄存器和数据包存储寄存器可以仅存储有效数据包中的有效数据(即预设标识数据之外的解调数据),即复杂可编程逻辑器件可以将有效数据包中的有效数据依次发送到基板管理控制器芯片,以减少预设标识数据的传输。
对应的,如图12所示,基板管理控制器芯片的数据读取指令中的读取地址为数据包存储寄存器的地址,即基板管理控制器芯片读取数据包存储寄存器中的数据内容时,复杂可编程逻辑器件可以判断新数据标识是否为存在状态;若是,则将新的有效数据包存储到暂存寄存器,并将新数据暂存标识设置为存在状态;若否,则保持新数据暂存标识不变。基板管理控制器芯片的数据读取指令中的读取地址不为数据包存储寄存器的地址时,判断有效数据标识是否为存在状态,即数据包存储寄存器内的数据被新的有效数据包更新;若是,则将新数据暂存标识设置为不存在状态;若否,则保持新数据暂存标识不变。
进一步的,复杂可编程逻辑器件可以在检测到基板管理控制器芯片读完数据包存储寄存器时,将暂存寄存器中的有效数据包更新到数据包存储寄存器,以提高数据包存储寄存器中数据的更新速度。如图13所示,在基板管理控制器的数据读取指令中的读取地址为数据包存储寄存器的地址时,若总线读数据计数器(rvReadbyteCnt)的数值大于或等于数据阈值(9'ha),则可以将数据包存储寄存器对应的有效数据标识设置为不存在状态。也就是说,复杂可编程逻辑器件可以通过总线读数据计数器(rvReadbyteCnt)的数值是否大于或等于数据阈值(9'ha)的判断,确定基板管理控制器芯片是否将要读完数据包存储寄存器中的数据,以进一步提高数据包存储寄存器中数据的更新速度。
进一步的,本实施例中复杂可编程逻辑器件还可以将确定的传输错误的有效数据包的信息(如接收时间)反馈给硬盘设备,以使硬盘设备能够通过状态指示引脚重新发送之前传输错误的有效数据包。如复杂可编程逻辑器件可以在无效数据寄存器中的数据出现两个存在状态的无效状态标识(如010000001)时,将前一个存在状态的无效状态标识对应的有效数据包确定为传输错误的有效数据包。举例来说,复杂可编程逻辑器件可以在当前时刻处于预设协商时间段时,向状态指示引脚发送反向传输请求信号,并在接收状态指示引脚返回的允许信号时,向状态指示引脚发送硬盘日志命令;其中,硬盘日志命令包括数据包重传命令;预设协商时间段可以为复杂可编程逻辑器件与硬盘设备约定的时间段。
例如,复杂可编程逻辑器件与硬盘设备约定在预设协商时间段不传输硬盘日志对应的电平信号的情况下,若复杂可编程逻辑器件需要反馈硬盘日志命令,则可以在当前时刻处于预设协商时间段时,向状态指示引脚发送反向传输请求,如一个30毫秒的反向传输请求标志。硬盘设备识别到反向传输请求后,确定当前处于协商时间段,则向复杂可编程逻辑器件反馈允许反向传输的允许信号。复杂可编程逻辑器件在接收到允许信号后,通过状态指示引脚向硬盘设备反向传输硬盘日志命令。硬盘设备执行该硬盘日志命令,可以及时补发错误的有效数据包。
本实施例中,本发明实施例利用复杂可编程逻辑器件解调识别硬盘设备的状态指示引脚传输硬盘日志的有效数据包,并转发给基板管理控制器芯片,能够减少硬盘设备的带外监控对基板管理控制器芯片的性能影响,降低了基板管理控制器芯片的引脚数量对带外监控的硬盘设备数量的限制。
相应于上面的方法实施例,本发明实施例还提供了一种硬盘日志的数据解调装置,下文描述的一种硬盘日志的数据解调装置与上文描述的一种硬盘日志的数据解调方法可相互对应参照。
请参考图14,图14为本发明实施例所提供的一种硬盘日志的获取装置的结构框图。该装置应用于基板管理控制器,可以包括:
接收模块10,用于接收硬盘设备的状态指示引脚传输的电平信号;其中,电平信号为硬盘设备根据硬盘日志和状态指示引脚的原始状态输出信号调制得到的信号;原始状态输出信号包括恒定电平信号和/或恒定频率方波信号;
解调模块20,用于识别电平信号中的目标矩形波信号各自对应的解调数据;其中,目标矩形波信号的宽度处于预设宽度范围内,解调数据包括硬盘设备的硬盘日志数据;
确定模块30,用于根据解调数据确定有效数据包;其中,有效数据包包括连续的预设数量的解调数据,有效数据包内预设数据包内位置的解调数据为预设标识数据。
在一些实施例中,原始状态输出信号包括恒定电平信号,目标矩形波信号包括在恒定电平信号中插入调制电平信号得到的矩形波信号,调制电平信号与恒定电平信号反相,调制电平信号的宽度小于预设宽度范围的下边界,目标矩形波信号的宽度与硬盘日志相关。
在一些实施例中,原始状态输出信号还包括恒定频率方波信号,目标矩形波信号还包括对恒定频率方波信号中的高电平矩形波进行调制得到的高电平矩形波和对恒定频率方波信号中的低电平矩形波进行调制得到的低电平矩形波。
在一些实施例中,状态指示引脚包括硬盘读写状态指示引脚,原始状态输出信号包括硬盘读写状态为空闲状态时的恒定高电平信号和硬盘读写状态为活跃状态时的恒定频率方波信号;
目标矩形波信号包括硬盘读写状态指示引脚在空闲状态时输出的高电平矩形波和硬盘读写状态指示引脚在活跃状态时输出的高电平矩形波和低电平矩形波。
在一些实施例中,原始状态输出信号包括恒定高电平信号和恒定低电平信号;
预设宽度范围包括恒定高电平信号对应的第一宽度范围和恒定低电平信号对应的第二宽度范围,第一宽度范围和第二宽度范围不相交;
目标矩形波信号包括宽度在第一宽度范围内的硬盘日志对应的高电平矩形波和低电平矩形波以及宽度在第二宽度范围内的硬盘日志对应的高电平矩形波和低电平矩形波。
在一些实施例中,识别电平信号中的目标矩形波信号各自对应的解调数据,包括:
根据电平信号,识别解调数据和硬盘设备的硬盘设备状态;
根据硬盘设备状态,对应控制硬盘状态指示灯的亮起和熄灭。
在一些实施例中,该装置还可以包括:
反馈控制模块,用于在当前时刻为预设协商时间段时,向状态指示引脚发送反向传输请求信号,并在接收状态指示引脚返回的允许信号时,向状态指示引脚发送硬盘日志命令;其中,硬盘日志命令包括数据包重传命令。
在一些实施例中,基板管理控制器包括基板管理控制器芯片和复杂可编程逻辑器件,复杂可编程逻辑器件与硬盘设备的状态指示引脚连接,该装置应用于基板管理控制器中的复杂可编程逻辑器件,还可以包括:
缓存转发模块,用于利用数据包存储寄存器,将有效数据包依次发送到基板管理控制器芯片,以利用基板管理控制器芯片在网页界面中展示有效数据包对应的硬盘日志。
在一些实施例中,缓存转发模块可以包括:
暂存子模块,用于在基板管理控制器芯片从数据包存储寄存器中读取有效数据包的过程中,若识别到新的有效数据包,则将新的有效数据包存储到暂存寄存器。
在一些实施例中,暂存子模块可以包括:
地址判断单元,用于判断基板管理控制器芯片的数据读取指令中的读取地址是否为数据包存储寄存器的地址;
标识判断单元,用于若不为数据包存储寄存器的地址,则判断新数据标识或新数据暂存标识是否为存在状态;
数据更新单元,用于若新数据标识或新数据暂存标识为存在状态,则将识别到新的有效数据包和/或暂存寄存器中存储的有效数据包更新到数据包存储寄存器,并将数据包存储寄存器对应的有效数据标识设置为存在状态;
暂存单元,用于若为数据包存储寄存器的地址,则在新数据标识为存在状态时,将识别到新的有效数据包存储到暂存寄存器,并将新数据暂存标识设置为存在状态。
在一些实施例中,暂存子模块可以包括:
暂存更新单元,用于在将新的有效数据包存储到暂存寄存器之后,若检测到基板管理控制器芯片读完数据包存储寄存器,则将暂存寄存器中的有效数据包更新到数据包存储寄存器。
在一些实施例中,复杂可编程逻辑器件通过集成电路总线与基板管理控制器芯片连接,暂存更新单元可以具体用于在基板管理控制器的数据读取指令中的读取地址为数据包存储寄存器的地址时,若总线读数据计数器的数值大于或等于数据阈值,则将数据包存储寄存器对应的有效数据标识设置为不存在状态。
在一些实施例中,该装置还可以包括:
拼接获取模块,用于根据有效数据包,获取硬盘设备的硬盘日志;
日志展示模块,用于将硬盘日志展示到网页界面。
在一些实施例中,解调模块20可以包括:
变化检测子模块,用于检测电平信号的上升沿和下降沿;
宽度确定子模块,用于根据上升沿和下降沿,确定各电平信号的宽度;
数据确定子模块,用于根据宽度和预设宽度范围,确定电平信号中的目标矩形波信号各自对应的解调数据。
在一些实施例中,宽度确定子模块可以包括:
第一确定单元,用于在检测到上升沿时,将上升沿状态寄存器中的上升沿状态标识设置为存在状态,利用计数器的计数值更新宽度寄存器中的宽度,并将计数器清零;
第二确定单元,用于在检测到下降沿时,将下降沿状态寄存器中的下降沿状态标识设置为存在状态,利用计数值更新宽度寄存器中的宽度,并将计数器清零;
计数单元,用于在未检测到上升沿或下降沿时,将上升沿状态标识和下降沿状态标识均设置为不存在状态,并持续利用计数器进行计数,更新计数值。
在一些实施例中,计数单元还可以用于在更新计数值之后,判断计数值是否大于计数阈值;若大于计数阈值,则停止计数器的计数;若不大于计数阈值,则持续利用计数器进行计数,更新计数值。
在一些实施例中,数据确定子模块可以包括:
宽度判断单元,用于在上升沿状态标识或下降沿状态标识为存在状态时,判断宽度寄存器中的宽度是否处于预设宽度范围内;
数据确定单元,用于若处于预设宽度范围,则根据预设解调关系信息,确定宽度寄存器中的宽度对应的解调数据;其中,预设解调关系信息包括预设宽度范围内的各预设宽度值与各自对应的预设解调数据的对应关系信息,预设解调数据包括预设标识数据和有效数据。
在一些实施例中,确定模块30可以包括:
标识确定子模块,用于若宽度寄存器中的宽度对应的解调数据为预设标识数据,则将无效状态寄存器中的无效状态标识设置为存在状态,将有效状态寄存器中的有效状态标识设置为不存在状态,利用脉冲数据寄存器存储解调数据,将脉冲数量计数器中的数值加1;
第一移位子模块,用于利用无效数据寄存器存储无效状态寄存器中的无效状态标识,并对无效数据寄存器中的数据进行移位操作;
第二移位子模块,用于利用数据包寄存器存储脉冲数据寄存器中的解调数据,并对数据包寄存器中的数据进行移位操作;
数量判断子模块,用于判断脉冲数量计数器中的数值是否为预设数量;
数据判断子模块,用于若为预设数量,则判断无效数据寄存器中的数据是否为预设数据;若为预设数据,则将数据包寄存器中的数据确定为有效数据包。
相应于上面的方法实施例,本发明实施例还提供了一种硬盘日志的数据调制方法,下文描述的一种硬盘日志的数据调制方法与上文描述的一种硬盘日志的数据解调方法可相互对应参照。
请参考图15,图15为本发明实施例所提供的一种硬盘日志的数据调制方法的流程图。该方法应用于硬盘设备,可以包括:
步骤301:获取待传输硬盘日志。
其中,本实施例中的待传输硬盘日志可以为需要向基板管理控制器传输的硬盘日志。
步骤302:根据待传输硬盘日志,对状态指示引脚的原始状态输出信号进行调制,得到相应的电平信号;其中,原始状态输出信号包括恒定电平信号和/或恒定频率方波信号。
可以理解的是,本实施例中硬盘设备可以根据获取的待传输硬盘日志,对状态指示引脚的原始状态输出信号(如恒定电平信号和/或恒定频率方波信号)进行调制,得到相应的电平信号;即硬盘设备的状态指示引脚输出的电平信号可以由硬盘设备的硬盘设备状态和待传输硬盘日志调制得到。
具体的,对于本实施例中硬盘日志对应的电平信号的具体调制方式,可以采用与上述硬盘日志的数据解调方法的实施例中电平信号的解调过程和有效数据包确定过程相对应的方式进行设置,在此不再赘述。
步骤303:通过状态指示引脚将电平信号发送到基板管理控制器。
本实施例中,本发明实施例通过基板管理控制器与硬盘设备的状态指示引脚连接,采用以硬盘设备的状态指示引脚直接输出硬盘日志到基板管理控制器的方式实现对硬盘设备的带外监控,解决了传统硬盘带外监控方案中只能通过硬盘扩展卡间接转发硬盘日志的问题,提高了基板管理控制器的可带外监控的硬盘设备范围;并且通过对状态指示引脚输出的电平信号的调制,在其原有的状态输出功能的基础上加入硬盘日志输出功能,使得基板管理控制器对调制后的电平信号进行解调和处理后可得到硬盘日志数据,能够利用硬盘设备现有的状态指示引脚在不影响其原有功能的同时,实现硬盘日志的传输,降低了对硬盘设备的带外监控难度。
相应于上面的方法实施例,本发明实施例还提供了一种硬盘日志的数据调制装置,下文描述的一种硬盘日志的数据调制装置与上文描述的一种硬盘日志的数据调制方法可相互对应参照。
请参考图16,图16为本发明实施例所提供的一种硬盘日志的数据调制装置的结构框图。该装置应用于硬盘设备,可以包括:
日志获取模块40,用于获取待传输硬盘日志;
信号调整模块50,用于根据待传输硬盘日志,对状态指示引脚的原始状态输出信号进行调制,得到相应的电平信号;其中,原始状态输出信号包括恒定电平信号和/或恒定频率方波信号;
信号传输模块60,用于通过状态指示引脚将电平信号发送到基板管理控制器。
相应于上面的方法实施例,本发明实施例还提供了一种电子设备,下文描述的一种电子设备与上文描述的一种硬盘日志的数据解调方法和一种硬盘日志的数据调制方法可相互对应参照。
请参考图17,图17为本发明实施例所提供的一种电子设备的结构示意图。该电子设备可以包括:
存储器D1,用于存储计算机程序;
处理器D2,用于执行计算机程序时实现上述方法实施例所提供的硬盘日志的数据解调方法或硬盘日志的数据调制方法的步骤。
具体的,请参考图18,图18为本发明实施例所提供的一种电子设备的具体结构示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在电子设备310上执行存储介质330中的一系列指令操作。
电子设备310还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
其中,电子设备310可以具体为基板管理控制器中的复杂可编程逻辑器件、基板管理控制器芯片或硬盘设备。
上文所描述的硬盘日志的数据解调方法或硬盘日志的数据调制方法中的步骤可以由电子设备的结构实现。
相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,下文描述的一种计算机可读存储介质与上文描述的一种硬盘日志的数据解调方法和一种硬盘日志的数据调制方法可相互对应参照。
一种计算机可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的硬盘日志的数据解调方法或硬盘日志的数据调制方法的步骤。
该计算机可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、电子设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上对本发明所提供的一种硬盘日志的数据解调方法、数据调制方法、装置、电子设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明的保护范围内。

Claims (19)

1.一种硬盘日志的数据解调方法,其特征在于,应用于基板管理控制器,包括:
接收硬盘设备的状态指示引脚传输的电平信号;其中,所述电平信号为所述硬盘设备根据硬盘日志和所述状态指示引脚的原始状态输出信号调制得到的信号;所述原始状态输出信号包括恒定电平信号和/或恒定频率方波信号;
识别所述电平信号中的目标矩形波信号各自对应的解调数据;其中,所述目标矩形波信号的宽度处于预设宽度范围内,所述解调数据包括所述硬盘设备的硬盘日志数据;
根据所述解调数据确定有效数据包;其中,所述有效数据包包括连续的预设数量的所述解调数据,所述有效数据包内预设数据包内位置的解调数据为预设标识数据;
所述识别所述电平信号中的目标矩形波信号各自对应的解调数据,包括:
检测所述电平信号的上升沿和下降沿;
根据所述上升沿和所述下降沿,确定各所述电平信号的宽度;
根据所述宽度和所述预设宽度范围,确定所述电平信号中的目标矩形波信号各自对应的解调数据;
对应的,所述根据所述宽度和所述预设宽度范围,确定所述电平信号中的目标矩形波信号各自对应的解调数据,包括:
在上升沿状态标识或下降沿状态标识为存在状态时,判断宽度寄存器中的宽度是否处于所述预设宽度范围内;其中,所述上升沿状态标识在检测到所述上升沿时处于存在状态;所述下降沿状态标识在检测到所述下降沿时处于存在状态;所述宽度寄存器存储当前的电平信号的宽度;
若处于所述预设宽度范围,则根据预设解调关系信息,确定所述宽度寄存器中的宽度对应的解调数据;其中,所述预设解调关系信息包括所述预设宽度范围内的各预设宽度值与各自对应的预设解调数据的对应关系信息,所述预设解调数据包括所述预设标识数据和有效数据。
2.根据权利要求1所述的硬盘日志的数据解调方法,其特征在于,所述根据所述上升沿和所述下降沿,确定各所述电平信号的宽度,包括:
在检测到所述上升沿时,将上升沿状态寄存器中的上升沿状态标识设置为存在状态,利用计数器的计数值更新宽度寄存器中的宽度,并将所述计数器清零;
在检测到所述下降沿时,将下降沿状态寄存器中的下降沿状态标识设置为存在状态,利用所述计数值更新所述宽度寄存器中的宽度,并将所述计数器清零;
在未检测到所述上升沿或下降沿时,将所述上升沿状态标识和所述下降沿状态标识均设置为不存在状态,并持续利用计数器进行计数,更新所述计数值。
3.根据权利要求2所述的硬盘日志的数据解调方法,其特征在于,所述持续利用计数器进行计数,更新所述计数值之后,还包括:
判断所述计数值是否大于计数阈值;
若大于所述计数阈值,则停止所述计数器的计数;
若不大于所述计数阈值,则执行所述持续利用计数器进行计数,更新所述计数值的步骤。
4.根据权利要求1所述的硬盘日志的数据解调方法,其特征在于,所述根据所述解调数据确定有效数据包,包括:
若所述宽度寄存器中的宽度对应的解调数据为所述预设标识数据,则将无效状态寄存器中的无效状态标识设置为存在状态,将有效状态寄存器中的有效状态标识设置为不存在状态,利用脉冲数据寄存器存储所述解调数据,将脉冲数量计数器中的数值加1;
利用无效数据寄存器存储所述无效状态寄存器中的无效状态标识,并对所述无效数据寄存器中的数据进行移位操作;
利用数据包寄存器存储所述脉冲数据寄存器中的解调数据,并对所述数据包寄存器中的数据进行移位操作;
判断所述脉冲数量计数器中的数值是否为所述预设数量;
若为所述预设数量,则判断所述无效数据寄存器中的数据是否为预设数据;
若为所述预设数据,则将所述数据包寄存器中的数据确定为有效数据包。
5.根据权利要求1所述的硬盘日志的数据解调方法,其特征在于,所述原始状态输出信号包括所述恒定电平信号,所述目标矩形波信号包括在所述恒定电平信号中插入调制电平信号得到的矩形波信号,所述调制电平信号与所述恒定电平信号反相,所述调制电平信号的宽度小于所述预设宽度范围的下边界,所述目标矩形波信号的宽度与所述硬盘日志相关。
6.根据权利要求1所述的硬盘日志的数据解调方法,其特征在于,所述原始状态输出信号包括恒定高电平信号和恒定低电平信号;
所述预设宽度范围包括所述恒定高电平信号对应的第一宽度范围和所述恒定低电平信号对应的第二宽度范围,所述第一宽度范围和所述第二宽度范围不相交;
所述目标矩形波信号包括宽度在所述第一宽度范围内的所述硬盘日志对应的高电平矩形波和低电平矩形波以及宽度在所述第二宽度范围内的所述硬盘日志对应的高电平矩形波和低电平矩形波。
7.根据权利要求1所述的硬盘日志的数据解调方法,其特征在于,所述识别所述电平信号中的目标矩形波信号各自对应的解调数据,包括:
根据所述电平信号,识别所述解调数据和所述硬盘设备的硬盘设备状态;
根据所述硬盘设备状态,对应控制硬盘状态指示灯的亮起和熄灭。
8.根据权利要求1所述的硬盘日志的数据解调方法,其特征在于,还包括:
在当前时刻为预设协商时间段时,向所述状态指示引脚发送反向传输请求信号,并在接收所述状态指示引脚返回的允许信号时,向所述状态指示引脚发送硬盘日志命令;其中,所述硬盘日志命令包括数据包重传命令。
9.根据权利要求1所述的硬盘日志的数据解调方法,其特征在于,所述根据所述解调数据确定有效数据包之后,还包括:
根据所述有效数据包,获取所述硬盘设备的硬盘日志;
将所述硬盘日志展示到网页界面。
10.根据权利要求1所述的硬盘日志的数据解调方法,其特征在于,所述基板管理控制器包括基板管理控制器芯片和复杂可编程逻辑器件,所述复杂可编程逻辑器件与硬盘设备的状态指示引脚连接,所述根据所述解调数据确定有效数据包之后,还包括:
所述复杂可编程逻辑器件利用数据包存储寄存器,将所述有效数据包依次发送到基板管理控制器芯片,以利用所述基板管理控制器芯片在网页界面中展示所述有效数据包对应的硬盘日志。
11.根据权利要求10所述的硬盘日志的数据解调方法,其特征在于,所述复杂可编程逻辑器件利用数据包存储寄存器,将所述有效数据包依次发送到基板管理控制器芯片,包括:
所述复杂可编程逻辑器件在所述基板管理控制器芯片从所述数据包存储寄存器中读取有效数据包的过程中,若识别到新的有效数据包,则将所述新的有效数据包存储到暂存寄存器。
12.根据权利要求11所述的硬盘日志的数据解调方法,其特征在于,所述复杂可编程逻辑器件在所述基板管理控制器芯片从所述数据包存储寄存器中读取有效数据包的过程中,若识别到新的有效数据包,则将所述新的有效数据包存储到暂存寄存器,包括:
所述复杂可编程逻辑器件判断所述基板管理控制器芯片的数据读取指令中的读取地址是否为所述数据包存储寄存器的地址;
若不为所述数据包存储寄存器的地址,则判断新数据标识或新数据暂存标识是否为存在状态;
若所述新数据标识或所述新数据暂存标识为存在状态,则将识别到新的有效数据包和/或所述暂存寄存器中存储的有效数据包更新到所述数据包存储寄存器,并将所述数据包存储寄存器对应的有效数据标识设置为存在状态;
若为所述数据包存储寄存器的地址,则在所述新数据标识为存在状态时,将识别到新的有效数据包存储到所述暂存寄存器,并将所述新数据暂存标识设置为存在状态。
13.根据权利要求11所述的硬盘日志的数据解调方法,其特征在于,所述将所述新的有效数据包存储到暂存寄存器之后,还包括:
若检测到所述基板管理控制器芯片读完所述数据包存储寄存器,则将所述暂存寄存器中的有效数据包更新到所述数据包存储寄存器。
14.根据权利要求13所述的硬盘日志的数据解调方法,其特征在于,所述复杂可编程逻辑器件通过集成电路总线与所述基板管理控制器芯片连接,所述若检测到所述基板管理控制器芯片读完所述数据包存储寄存器,则将所述暂存寄存器中的有效数据包更新到所述数据包存储寄存器,包括:
在所述基板管理控制器的数据读取指令中的读取地址为所述数据包存储寄存器的地址时,若总线读数据计数器的数值大于或等于数据阈值,则将所述数据包存储寄存器对应的有效数据标识设置为不存在状态。
15.一种硬盘日志的数据解调装置,其特征在于,应用于基板管理控制器,包括:
接收模块,用于接收硬盘设备的状态指示引脚传输的电平信号;其中,所述电平信号为所述硬盘设备根据硬盘日志和所述状态指示引脚的原始状态输出信号调制得到的信号;所述原始状态输出信号包括恒定电平信号和/或恒定频率方波信号;
解调模块,用于识别所述电平信号中的目标矩形波信号各自对应的解调数据;其中,所述目标矩形波信号的宽度处于预设宽度范围内,所述解调数据包括所述硬盘设备的硬盘日志数据;
确定模块,用于根据所述解调数据确定有效数据包;其中,所述有效数据包包括连续的预设数量的所述解调数据,所述有效数据包内预设数据包内位置的解调数据为预设标识数据;
所述解调模块包括:
变化检测子模块,用于检测所述电平信号的上升沿和下降沿;
宽度确定子模块,用于根据所述上升沿和所述下降沿,确定各所述电平信号的宽度;
数据确定子模块,用于根据所述宽度和所述预设宽度范围,确定所述电平信号中的目标矩形波信号各自对应的解调数据;
所述数据确定子模块包括:
宽度判断单元,用于在上升沿状态标识或下降沿状态标识为存在状态时,判断宽度寄存器中的宽度是否处于所述预设宽度范围内;其中,所述上升沿状态标识在检测到所述上升沿时处于存在状态;所述下降沿状态标识在检测到所述下降沿时处于存在状态;所述宽度寄存器存储当前的电平信号的宽度;
数据确定单元,用于若处于所述预设宽度范围,则根据预设解调关系信息,确定所述宽度寄存器中的宽度对应的解调数据;其中,所述预设解调关系信息包括所述预设宽度范围内的各预设宽度值与各自对应的预设解调数据的对应关系信息,所述预设解调数据包括所述预设标识数据和有效数据。
16.一种硬盘日志的数据调制方法,其特征在于,应用于硬盘设备,包括:
获取待传输硬盘日志;
根据所述待传输硬盘日志,对状态指示引脚的原始状态输出信号进行调制,得到相应的电平信号;其中,所述原始状态输出信号包括恒定电平信号和/或恒定频率方波信号;
通过所述状态指示引脚将所述电平信号发送到基板管理控制器;
所述根据所述待传输硬盘日志,对状态指示引脚的原始状态输出信号进行调制,得到相应的电平信号,包括:
根据所述待传输硬盘日志,确定有效数据包;其中,所述有效数据包包括连续的预设数量的调制数据,所述有效数据包内预设数据包内位置的调制数据为预设标识数据;
根据所述有效数据包中的调制数据和预设调制关系信息,对状态指示引脚的原始状态输出信号进行调制,得到相应的电平信号;其中,所述预设调制关系信息包括预设宽度范围内的各预设宽度值与各自对应的预设调制数据的对应关系信息,所述预设调制数据包括所述预设标识数据和有效数据,所述调制数据对应的电平信号包括上升沿和下降沿。
17.一种硬盘日志的数据调制装置,其特征在于,应用于硬盘设备,包括:
日志获取模块,用于获取待传输硬盘日志;
信号调整模块,用于根据所述待传输硬盘日志,对状态指示引脚的原始状态输出信号进行调制,得到相应的电平信号;其中,所述原始状态输出信号包括恒定电平信号和/或恒定频率方波信号;
信号传输模块,用于通过所述状态指示引脚将所述电平信号发送到基板管理控制器;
所述信号调整模块具体用于根据所述待传输硬盘日志,确定有效数据包;根据所述有效数据包中的调制数据和预设调制关系信息,对状态指示引脚的原始状态输出信号进行调制,得到相应的电平信号;其中,所述有效数据包包括连续的预设数量的调制数据,所述有效数据包内预设数据包内位置的调制数据为预设标识数据;所述预设调制关系信息包括预设宽度范围内的各预设宽度值与各自对应的预设调制数据的对应关系信息,所述预设调制数据包括所述预设标识数据和有效数据,所述调制数据对应的电平信号包括上升沿和下降沿。
18.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至14任意一项所述的硬盘日志的数据解调方法或如权利要求16所述的硬盘日志的数据调制方法的步骤。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至14任意一项所述的硬盘日志的数据解调方法或如权利要求16所述的硬盘日志的数据调制方法的步骤。
CN202410382575.8A 2024-03-29 2024-03-29 硬盘日志的数据解调方法、调制方法、装置、设备及介质 Active CN117971611B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410382575.8A CN117971611B (zh) 2024-03-29 2024-03-29 硬盘日志的数据解调方法、调制方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410382575.8A CN117971611B (zh) 2024-03-29 2024-03-29 硬盘日志的数据解调方法、调制方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN117971611A CN117971611A (zh) 2024-05-03
CN117971611B true CN117971611B (zh) 2024-06-14

Family

ID=90865047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410382575.8A Active CN117971611B (zh) 2024-03-29 2024-03-29 硬盘日志的数据解调方法、调制方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117971611B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111092759A (zh) * 2019-12-13 2020-05-01 苏州浪潮智能科技有限公司 一种jbod带外管理系统中日志管理的方法、设备及介质
CN116932311A (zh) * 2022-03-29 2023-10-24 富联精密电子(天津)有限公司 固态硬盘状态监控方法、系统、服务器及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023185263A1 (zh) * 2022-03-30 2023-10-05 浙江地芯引力科技有限公司 调制信号处理装置、方法、微控制器及电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111092759A (zh) * 2019-12-13 2020-05-01 苏州浪潮智能科技有限公司 一种jbod带外管理系统中日志管理的方法、设备及介质
CN116932311A (zh) * 2022-03-29 2023-10-24 富联精密电子(天津)有限公司 固态硬盘状态监控方法、系统、服务器及存储介质

Also Published As

Publication number Publication date
CN117971611A (zh) 2024-05-03

Similar Documents

Publication Publication Date Title
US5636342A (en) Systems and method for assigning unique addresses to agents on a system management bus
US5878248A (en) Device access controller for virtual video/keyboard/mouse input/output for remote system management and maintenance
US7039918B2 (en) Service processor and system and method using a service processor
US7917664B2 (en) Storage apparatus, storage apparatus control method, and recording medium of storage apparatus control program
CN104239187A (zh) 硬盘状态指示装置
CN105261329A (zh) 多led显示模组管理方法
CN112306795B (zh) 一种基于espi的增强服务器安全的方法及装置
CN104484264A (zh) 一种硬盘状态指示方法及装置
CN117971611B (zh) 硬盘日志的数据解调方法、调制方法、装置、设备及介质
US20120136501A1 (en) Computer chassis system
CN110708489A (zh) 通讯方法、装置以及电子设备、存储介质
CN105357799A (zh) Led显示模组管理装置
CN117971608B (zh) 一种硬盘日志的获取方法、发送方法、装置、设备及介质
US20230367508A1 (en) Complex programmable logic device and communication method
JP2011165158A (ja) コンピュータ周辺装置
US5845094A (en) Device access controller and remote support facility for installation of cabling in a multiprocessor system
CN116627729A (zh) 外接线缆、外接线缆在位检测装置、开机自检方法及系统
CN112395147B (zh) Soc上的调试装置
CN113204475A (zh) 一种服务器背板硬盘点灯装置、方法及服务器
CN117971610B (zh) 一种硬盘监控方法、装置、系统、设备及存储介质
CN117992311B (zh) 一种服务器及其硬盘监控方法、装置、设备和介质
CN112052132B (zh) 通过sdio接口调试外挂芯片的方法、装置、设备和介质
CN210666597U (zh) 一种用于硬盘背板散热的风扇板及存储设备
US20230350400A1 (en) Log information obtaining system and method
CN202632270U (zh) 基于usb3.0的硬盘数据读取设备

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