Data demodulation method and apparatus for hard disk log, data modulation method and apparatus for hard disk log, and device and medium

The baseboard management controller receives and demodulates the status indication pin signal of the hard disk device, which solves the problem that the baseboard management controller cannot access the hard disk data, realizes out-of-band monitoring of the hard disk device, and improves the efficiency of obtaining hard disk status information.

WO2025200600A1PCT designated stage Publication Date: 2025-10-02INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/139306
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-29
Filing Date
2024-12-13
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

In existing out-of-band monitoring solutions for hard disks, a baseboard management controller cannot directly access the service data of the hard disk device, resulting in an inability to implement effective out-of-band monitoring of the hard disk device.

Method used

The baseboard management controller receives the level signal transmitted by the status indication pin of the hard disk device, identifies and demodulates the hard disk log data in the target rectangular wave signal, and uses the status indication pin of the hard disk device to directly output the hard disk log data to the baseboard management controller to realize out-of-band monitoring of the hard disk device.

Benefits of technology

The scope of hard disk devices that can be monitored out-of-band by the baseboard management controller is increased, the transmission of hard disk logs is realized, the difficulty of out-of-band monitoring is reduced, and hard disk status information can be obtained without affecting the original functions of the hard disk device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024139306_02102025_PF_FP_ABST
    Figure CN2024139306_02102025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of hard disk monitoring. Disclosed are a data demodulation method and apparatus for a hard disk log, a data modulation method and apparatus for a hard disk log, and a device and a medium. The demodulation method is applied to a baseboard management controller, and comprises: receiving level signals transmitted by state indication pins of a hard disk device, wherein the level signals are signals obtained by the hard disk device performing modulation on the basis of a hard disk log, and original state output signals of the state indication pins; identifying demodulated data corresponding to each target rectangular-wave signal among the level signals; and on the basis of the demodulated data, determining a valid data packet. In the present application, out-of-band monitoring of a hard disk device is realized by means of state indication pins of the hard disk device directly outputting hard disk log data to a baseboard management controller, and thus the problem in a conventional hard disk out-of-band monitoring scheme of it being difficult to realize out-of-band monitoring of a hard disk due to an out-of-band management system not having permission to access hard disk data is solved, thereby expanding the range of hard disk devices that can be subjected to out-of-band monitoring by a baseboard management controller.
Need to check novelty before this filing date? Find Prior Art

Description

Data demodulation method, modulation method, device, equipment and medium for hard disk log

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to a Chinese patent application filed with the Patent Office of China on March 29, 2024, with application number 202410382575.8 and entitled “Data demodulation method, modulation method, device, equipment and medium for hard disk logs,” the entire contents of which are incorporated herein by reference. Technical Field

[0003] The present application relates to the field of hard disk monitoring technology, and in particular to a data demodulation method, modulation method, device, equipment and medium for a hard disk log. Background Art

[0004] The hard disk device is one of the most important storage devices in the computer. Therefore, the healthy operation of the hard disk device is one of the key factors to ensure the reliability of the device server.

[0005] In order to ensure accurate control of the operating status of the hard disk device, the device needs to monitor the hard disk device during operation to obtain the status information of the hard disk device. The main hard disk monitoring solutions are currently divided into in-band hard disk monitoring and out-of-band hard disk monitoring. In-band hard disk monitoring is to obtain the status information of the hard disk device after the monitoring software running on the central processing unit (CPU) communicates data with the hard disk device. This monitoring solution often has difficulty presenting the monitoring data to the operation and maintenance personnel. Out-of-band monitoring of hard disk devices is to monitor the status of the hard disk after obtaining the hard disk status information through the baseboard management controller (BMC). The monitoring results can be presented to the operation and maintenance personnel. It is the main monitoring method currently used. However, since the out-of-band management system does not have the authority to access the business data of the hard disk device, out-of-band monitoring of many hard disks cannot be achieved. Summary of the Invention

[0006] The purpose of this application is to provide a data demodulation method, data modulation method, device, electronic device and computer non-volatile readable storage medium for hard disk logs, so as to increase the range of hard disk devices that can be monitored out-of-band by a baseboard management controller.

[0007] To solve the above technical problems, the present application provides a data demodulation method for a hard disk log, which is applied to a baseboard management controller, comprising:

[0008] Receive a level signal transmitted by a status indication pin of a hard disk device; wherein the level signal is a signal modulated by the hard disk device based on the hard disk log and the original status output signal of the status indication pin; the original status output signal includes a constant level signal and / or a constant frequency square wave signal;

[0009] identifying demodulated data corresponding to respective target rectangular wave signals in the level signal; wherein the width of the target rectangular wave signal is within a preset width range, and the demodulated data includes hard disk log data of the hard disk device;

[0010] A valid data packet is determined according to the demodulated data; wherein the valid data packet includes a continuous preset number of demodulated data, and the demodulated data at a preset position within the valid data packet is the preset identification data.

[0011] On the other hand, identifying demodulated data corresponding to each target rectangular wave signal in the level signal includes:

[0012] Detect the rising and falling edges of the level signal;

[0013] Determine the width of each level signal according to the rising edge and falling edge;

[0014] Demodulated data corresponding to each target rectangular wave signal in the level signal is determined according to the width and the preset width range.

[0015] On the other hand, the width of each level signal is determined according to the rising edge and the falling edge, including:

[0016] When a rising edge is detected, the rising edge state flag in the rising edge state register is set to the exist state, the width in the width register is updated using the count value of the counter, and the counter is cleared;

[0017] When a falling edge is detected, the falling edge status flag in the falling edge status register is set to the existing state, the width in the width register is updated using the count value, and the counter is cleared;

[0018] When no rising edge or falling edge is detected, both the rising edge state flag and the falling edge state flag are set to a non-existent state, and the counter is continuously used to count and update the count value.

[0019] On the other hand, continuously counting with the counter and updating the count value further includes:

[0020] Determine whether the count value is greater than the count threshold;

[0021] If it is greater than the counting threshold, the counter stops counting;

[0022] If it is not greater than the counting threshold, the steps of continuously counting with the counter and updating the counting value are executed.

[0023] On the other hand, determining the demodulated data corresponding to each target rectangular wave signal in the level signal according to the width and the preset width range includes:

[0024] When the rising edge state flag or the falling edge state flag is in the exist state, determining whether the width in the width register is within a preset width range;

[0025] If it is within the preset width range, the demodulation data corresponding to the width in the width register is determined according to the preset demodulation relationship information; wherein the preset demodulation relationship information includes the correspondence information between each preset width value within the preset width range and the corresponding preset demodulation data, and the preset demodulation data includes preset identification data and valid data.

[0026] In another aspect, determining a valid data packet based on the demodulated data includes:

[0027] If the demodulated data corresponding to the width in the width register is the preset identification data, the invalid state flag in the invalid state register is set to the existing state, the valid state flag in the valid state register is set to the non-existent state, the demodulated data is stored in the pulse data register, and the value in the pulse number counter is increased by 1;

[0028] Using the invalid data register to store the invalid state flag in the invalid state register, and performing a shift operation on the data in the invalid data register;

[0029] Using the data packet register to store the demodulated data in the pulse data register, and performing a shift operation on the data in the data packet register;

[0030] Determine whether the value in the pulse quantity counter is a preset quantity;

[0031] If it is the preset number, determine whether the data in the invalid data register is the preset data;

[0032] If it is preset data, the data in the data packet register is determined as a valid data packet.

[0033] On the other hand, the original state output signal includes a constant level signal, the target rectangular wave signal includes a rectangular wave signal obtained by inserting a modulated level signal into the constant level signal, the modulated level signal is inverted to the constant level signal, the width of the modulated level signal is smaller than the lower boundary of the preset width range, and the width of the target rectangular wave signal is related to the hard disk log.

[0034] In another aspect, the original state output signal includes a constant high level signal and a constant low level signal;

[0035] The preset width range includes a first width range corresponding to the constant high-level signal and a second width range corresponding to the constant low-level signal, and the first width range and the second width range do not intersect;

[0036] The target rectangular wave signal includes a high-level rectangular wave and a low-level rectangular wave corresponding to a hard disk log with a width within a first width range and a high-level rectangular wave and a low-level rectangular wave corresponding to a hard disk log with a width within a second width range.

[0037] On the other hand, identifying demodulated data corresponding to each target rectangular wave signal in the level signal includes:

[0038] Identify the demodulated data and the hard disk device status of the hard disk device according to the level signal;

[0039] According to the status of the hard disk device, the hard disk status indicator light is controlled to turn on and off.

[0040] In another aspect, the method further comprises:

[0041] When the current moment is the preset negotiation time period, a reverse transmission request signal is sent to the status indication pin, and when a permission signal is received from the status indication pin, a hard disk log command is sent to the status indication pin; wherein the hard disk log command includes a data packet retransmission command.

[0042] On the other hand, after determining the valid data packet according to the demodulated data, the method further includes:

[0043] Obtain the hard disk log of the hard disk device based on the valid data packet;

[0044] Display the hard disk log on the web interface.

[0045] On the other hand, the baseboard management controller includes a baseboard management controller processing component and a complex programmable logic device, the complex programmable logic device is connected to the status indication pin of the hard disk device, and after determining a valid data packet based on the demodulated data, further includes:

[0046] The complex programmable logic device uses the data packet storage register to send the valid data packets to the baseboard management controller processing component in sequence, so that the baseboard management controller processing component can display the hard disk log corresponding to the valid data packets in the web page interface.

[0047] On the other hand, the complex programmable logic device uses the data packet storage register to sequentially send valid data packets to the baseboard management controller processing component, including:

[0048] When the baseboard management controller processing component reads a valid data packet from the data packet storage register, if a new valid data packet is identified, the complex programmable logic device stores the new valid data packet in the temporary register.

[0049] On the other hand, when the baseboard management controller processing component reads a valid data packet from the data packet storage register, if a new valid data packet is identified, the complex programmable logic device stores the new valid data packet in the temporary register, including:

[0050] The complex programmable logic device determines whether a read address in a data read instruction of the baseboard management controller processing component is an address of a data packet storage register;

[0051] If it is not the address of the data packet storage register, then determine whether the new data flag or the new data temporary storage flag is in the exist state;

[0052] If the new data identifier or the new data temporary storage identifier is in the exist state, the new valid data packet identified and / or the valid data packet stored in the temporary storage register is updated to the data packet storage register, and the valid data identifier corresponding to the data packet storage register is set to the exist state;

[0053] If it is the address of the data packet storage register, when the new data flag is in the exist state, the new valid data packet will be identified and stored in the temporary register, and the new data temporary flag will be set to the exist state.

[0054] On the other hand, after storing the new valid data packet into the temporary register, it also includes:

[0055] If it is detected that the baseboard management controller processing component has finished reading the data packet storage register, the valid data packet in the temporary register is updated to the data packet storage register.

[0056] In another aspect, the complex programmable logic device is connected to the baseboard management controller processing component via an integrated circuit bus, and upon detecting that the baseboard management controller processing component has finished reading the data packet storage register, the complex programmable logic device updates the valid data packet in the temporary register to the data packet storage register, including:

[0057] When the read address in the data read instruction of the baseboard management controller is the address of the data packet storage register, if the value of the bus read data counter is greater than or equal to the data threshold, the valid data flag corresponding to the data packet storage register is set to a non-existent state.

[0058] The present application also provides a data demodulation device for a hard disk log, which is applied to a baseboard management controller and includes:

[0059] A receiving module, configured to receive a level signal transmitted by a status indication pin of a hard disk device; wherein the level signal is a signal modulated by the hard disk device based on the hard disk log and the original status output signal of the status indication pin; the original status output signal includes a constant level signal and / or a constant frequency square wave signal;

[0060] A demodulation module, configured to identify demodulated data corresponding to each target rectangular wave signal in the level signal; wherein the width of the target rectangular wave signal is within a preset width range, and the demodulated data includes hard disk log data of the hard disk device;

[0061] The determination module is used to determine a valid data packet according to the demodulated data; wherein the valid data packet includes a continuous preset number of demodulated data, and the demodulated data at a preset position in the valid data packet is the preset identification data.

[0062] The present application also provides a data modulation method for a hard disk log, which is applied to a hard disk device, including:

[0063] Get the hard disk log to be transferred;

[0064] According to the hard disk log to be transmitted, the original state output signal of the status indication pin is modulated to obtain a corresponding level signal; wherein the original state output signal includes a constant level signal and / or a constant frequency square wave signal;

[0065] The level signal is sent to the baseboard management controller through the status indication pin.

[0066] The present application also provides a data modulation device for a hard disk log, which is applied to a hard disk device, including:

[0067] Log acquisition module, used to obtain hard disk logs to be transmitted;

[0068] A signal adjustment module is used to modulate the original state output signal of the status indication pin according to the hard disk log to be transmitted to obtain a corresponding level signal; wherein the original state output signal includes a constant level signal and / or a constant frequency square wave signal;

[0069] The signal transmission module is used to send a level signal to the baseboard management controller through the status indication pin.

[0070] The present application also provides an electronic device, comprising:

[0071] memory for storing computer programs;

[0072] The processor is used to execute a computer program. When the computer program is executed by the processor, the computer program implements the data demodulation method of the hard disk log or the steps of the data modulation method of the hard disk log as described above.

[0073] In addition, the present application also provides a computer non-volatile readable storage medium on which a computer program is stored. When the computer program is executed by a processor, it implements the data demodulation method of the hard disk log as described above or the steps of the data modulation method of the hard disk log as described above.

[0074] A data demodulation method for a hard disk log provided in the present application is applied to a baseboard management controller, comprising: receiving a level signal transmitted by a status indication pin of a hard disk device; wherein the level signal is a signal modulated by the hard disk device according to the hard disk log and the original status output signal of the status indication pin; the original status output signal includes a constant level signal and / or a constant frequency square wave signal; identifying demodulated data corresponding to each target rectangular wave signal in the level signal; wherein the width of the target rectangular wave signal is within a preset width range, and the demodulated data includes hard disk log data of the hard disk device; determining a valid data packet based on the demodulated data; wherein the valid data packet includes a continuous preset number of demodulated data, and the demodulated data at a preset position within the valid data packet is preset identification data.

[0075] It can be seen that the present application connects the status indication pin of the hard disk device through the baseboard management controller, and directly outputs the hard disk log data to the baseboard management controller through the status indication pin of the hard disk device to achieve out-of-band monitoring of the hard disk device. This solves the problem in the traditional hard disk out-of-band monitoring solution that the out-of-band management system has no authority to access the hard disk data, making it difficult to achieve out-of-band monitoring of the hard disk device, and increases the range of hard disk devices that can be monitored out-of-band by the baseboard management controller; and by modulating the level signal output by the status indication pin, a hard disk log output function is added on the basis of its original status indication output function. The baseboard management controller demodulates and processes the modulated level signal to obtain the hard disk log data. It can utilize the existing status indication pin of the hard disk device without affecting its original function to achieve the transmission of the hard disk log, thereby reducing the difficulty of out-of-band monitoring of the hard disk device. In addition, the present application also provides a hard disk log data demodulation device, data modulation method, device, electronic device and computer non-volatile readable storage medium, which also have the above-mentioned beneficial effects. BRIEF DESCRIPTION OF THE DRAWINGS

[0076] In order to more clearly illustrate some embodiments of the present application or technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without any creative work.

[0077] FIG1 is a schematic structural diagram of a first hard disk monitoring system provided by some embodiments of the present application;

[0078] FIG2 is a schematic structural diagram of a second hard disk monitoring system provided by some embodiments of the present application;

[0079] FIG3 is a schematic structural diagram of a third hard disk monitoring system provided by some embodiments of the present application;

[0080] FIG4 is a flow chart of a data demodulation method for a hard disk log provided by some embodiments of the present application;

[0081] FIG5 is a schematic diagram of a modulation method of a level signal provided in some embodiments of the present application;

[0082] FIG6 is a diagram showing a correspondence between preset width values ​​and preset demodulated data within a preset width range provided by some embodiments of the present application;

[0083] FIG7 is a flow chart of another hard disk log data demodulation method provided by some embodiments of the present application;

[0084] FIG8 is a schematic diagram of an out-of-band monitoring system provided by some embodiments of the present application;

[0085] FIG9 is a schematic diagram of level width detection provided by some embodiments of the present application;

[0086] FIG10 is a schematic diagram of a process for determining a valid data packet provided by some embodiments of the present application;

[0087] FIG11 is a schematic diagram of a data update process of a data packet storage register provided by some embodiments of the present application;

[0088] FIG12 is a schematic diagram of a refresh process of a new data temporary storage identifier provided in some embodiments of the present application;

[0089] FIG13 is a schematic diagram of a data packet storage register update detection process provided by some embodiments of the present application;

[0090] FIG14 is a structural block diagram of a device for obtaining a hard disk log provided in some embodiments of the present application;

[0091] FIG15 is a flow chart of a data modulation method for a hard disk log provided by some embodiments of the present application;

[0092] FIG16 is a structural block diagram of a data modulation device for a hard disk log provided by some embodiments of the present application;

[0093] FIG17 is a schematic structural diagram of an electronic device provided by some embodiments of the present application;

[0094] FIG18 is a schematic diagram of the specific structure of an electronic device provided in some embodiments of the present application. DETAILED DESCRIPTION

[0095] To make the objectives, technical solutions, and advantages of some embodiments of the present application more clear, the technical solutions in some embodiments of the present application will be clearly and completely described below in conjunction with the drawings in some embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0096] As an important component of the server, hard disk devices are important targets for out-of-band monitoring and management. According to the type of communication interface, they are mainly divided into Serial Attached SCSI (SAS) / Serial Advanced Technology Attachment (SATA) interface hard disks and Non-Volatile Memory Host Controller Interface Specification (NVMHCIS or NVM Express, NVMe) interface hard disks. Among them, the SAS interface is compatible with the SATA interface. According to the type of storage medium, hard disk devices are mainly divided into mechanical hard disk drives (HDD) and solid-state drives (SSD). Among them, mechanical hard disks mainly have SAS or SATA interfaces. Solid-state drives include SAS, SATA, and NVMe interface hard disks.

[0097] If the baseboard management controller wants to obtain the hard disk log and realize out-of-band monitoring and management, it can access the hard disk expansion card through the integrated circuit bus (Inter-Integrated Circuit, IIC or I2C) for the hard disk device (such as SAS interface and SATA interface hard disk) connected to the hard disk expansion card. The baseboard management controller runs the monitoring software to send a transparent transmission command to the hard disk expansion card. The hard disk expansion card can forward the transparent transmission command to the hard disk device. After the hard disk device responds to the transparent transmission command, it sends the corresponding hard disk log data to the hard disk expansion card, and the hard disk expansion card forwards the hard disk log data to the baseboard management controller. In addition, the NVMe interface hard disk can be directly connected to the central processing unit through a high-speed serial computer expansion bus. The high-speed serial computer expansion bus between the hard disk device and the central processing unit can provide an integrated circuit bus to the baseboard management controller to realize the function of the hard disk expansion card to forward commands and hard disk log data to the baseboard management controller. Only then can out-of-band monitoring of the hard disk device be realized.

[0098] It can be seen that in the current server monitoring architecture, the business data of the equipment cannot be displayed to the outside world for confidentiality reasons. That is, the operation and maintenance personnel do not have the authority to access the in-band data to obtain the hard disk logs that can be read by the central processing unit. The baseboard management controller used to implement out-of-band monitoring is also unable to directly access the hard disk data, resulting in the limitation of the out-of-band monitoring function of the hard disk device. It makes it impossible for the out-of-band monitoring party to obtain the operating status of the hard disk device in a timely and accurate manner, thereby threatening the reliability of the hard disk storage.

[0099] Since there is no data path between the baseboard management controller and the hard disk device without the integrated circuit bus interface, out-of-band monitoring of the hard disk device can only be achieved with the help of a hard disk expansion card that supports receiving transparent commands through the integrated circuit bus interface or a high-speed serial computer expansion bus that provides an integrated circuit bus interface. For hard disk devices that do not meet this condition, such as hard disk devices under the advanced host controller interface controller, out-of-band monitoring cannot be achieved.

[0100] Figure 1 is a structural diagram of the first hard disk monitoring system provided in an embodiment of the present application; Figure 2 is a structural diagram of the second hard disk monitoring system provided in an embodiment of the present application; Figure 3 is a structural diagram of the third hard disk monitoring system provided in an embodiment of the present application.

[0101] Therefore, it is necessary to find a hard disk out-of-band monitoring solution that can adapt to more hard disk connection modes. As shown in FIG1 , an embodiment of the present application provides a hard disk monitoring system, which may include a baseboard management controller and a hard disk device.

[0102] The pins of the baseboard management controller are connected to the status indication pins of the hard disk device;

[0103] The hard disk device is used to modulate the hard disk device status (i.e., the original status output signal) corresponding to the hard disk log and status indication pin to obtain a level signal, and output the level signal through the status indication pin;

[0104] The baseboard management controller is used for demodulating the first signal to obtain a hard disk log, so as to monitor the hard disk device by using the hard disk log.

[0105] It should be noted that in the embodiment of the present application, the baseboard management controller may only include a baseboard management controller processing component, or it may be a system including a baseboard management controller processing component and a complex programmable logic device. The complex programmable logic device may be a complex programmable logic device only provided on the hard disk backplane or a complex programmable logic device provided on the server motherboard.

[0106] Hard drive pins are primarily categorized into three types: data pins, power pins, and hard drive status pins. The hard drive's data pins connect to the in-band system, while the hard drive's power pins are used to connect power and ground signals. Therefore, the baseboard management controller can directly access only the hard drive's status pins.

[0107] The hard disk status pins of the hard disk device mainly include the status indication pin, the hard disk production debugging pin and the hard disk idle pin.

[0108] Among them, status indication pins include hard disk in-place status indication pins and hard disk read / write status indication pins. Status indication pins are pins used by the hard disk device to output hard disk status indication signals. For example, the hard disk in-place status indication pin is used to output a hard disk in-place status signal, and the hard disk read / write status indication pin is used to output a hard disk read / write status signal. When the hard disk device is connected to the hard disk backplane, the status indication pins can be connected in two main ways: one is to connect to the baseboard management controller to inform the baseboard management controller of the corresponding hard disk status data, and the other is to connect to the control circuit on the hard disk backplane to control the status of the corresponding controlled components so that the user can be informed of the corresponding hard disk status. For example, the hard disk backplane is equipped with a hard disk status indicator to indicate the operating status of the hard disk. For example, when the hard disk is in the read / write state, the hard disk read / write status indication pin can be controlled to output a square wave signal to the amplifying drive circuit of the hard disk read / write status indicator to control the hard disk read / write status indicator to light up. When the hard disk is not in the read / write state (idle state), the hard disk read / write status indication pin is controlled to output a constant level signal (e.g., a constant high level signal) to turn off the hard disk read / write status indicator to indicate that it is in the idle state. The user can then determine whether the hard disk is in the read / write state by observing the on and off of the hard disk read / write status indicator. The same principle applies to the hard drive status display based on the hard drive presence status indicator pins. Alternatively, the hard drive can also output two different constant-level signals (one high and one low) through these status indicator pins to indicate different states. These signals can be input to the baseboard management controller to trigger corresponding recording, processing, or control.

[0109] The production debug pins of hard disks are mainly the pins (debug pins) next to the SAS or SATA interface of hard disk devices. These pins are usually used in the production debug stage of the hard disk. In actual use of the hard disk, the production debug pins can be used to output boot information during the hard disk initialization stage.

[0110] In addition to the above-mentioned status indication pins, NVMe interface hard drives also include hard drive idle pins. Currently, NVMe interface hard drives mainly use three types of connectors, namely the M.2 connector (a small and high-speed connector), the U.2 connector (a high-speed and high-density connector), and the CEM connector (a connector used to connect graphics cards and other expansion cards). Among them, the NVMe interface of the M.2 connector has different (Key) types used to connect different types of devices, among which Key B and Key M can be used to connect solid-state drives. When the M.2 specification NVMe interface is connected to a solid-state drive with a SATA interface, the definition of its P10 pin is the same as the definition of the P11 pin of the SAS or SATA interface, both of which are hard drive read and write status indication pins. When the M.2 specification NVMe interface is connected to an NVMe interface hard drive, its P10 pin is defined as an indicator light control pin. The NVMe interface of the U.2 connector is fully compatible with the SAS and SATA interfaces, and its P11 pin is also a hard drive read and write status indication pin. The P32 pin on the A side of the NVMe interface of the CEM connector is a reserved pin, which is also the hard disk status pin in addition to the hard disk data pin. There are also multiple idle pins at x8 (eight-wire interface) and above.

[0111] The status indication pins in the above-mentioned hard disk status pins are not pins used by the hard disk device to output data, and there is no risk of leaking user data stored in the hard disk device. Currently, after the hard disk device is inserted into the hard disk backplane, these status indication pins have the permission to connect to the baseboard management controller.

[0112] In some embodiments of the present application, the hard disk device can adopt status indication pins such as the hard disk in-place status indication pin and the hard disk read / write status indication pin. Since these status indication pins are usually connected to the general-purpose input / output (GPIO) pins of the baseboard management controller processing component in the baseboard management controller or the input / output (I / O) pins of the complex programmable logic device, the hardware architecture can be directly adopted without making changes to the hardware architecture of the server, which is simple and convenient to implement.

[0113] In some embodiments of the present application, if status indication pins such as a hard disk in-place status indication pin and a hard disk read / write status indication pin are used, since these hard disk status pins are usually already connected to the general-purpose input / output (GPIO) pins of the baseboard management controller processing component in the baseboard management controller or the input / output (I / O) pins of the complex programmable logic device, this hardware architecture can be directly adopted without making changes to the hardware architecture of the server, which is simple and convenient to implement.

[0114] Currently, the hard drive production debug pins on devices are usually left floating, and typically include four pins. If the embodiments of the present application use the hard drive production debug pins as the hard drive status pins for outputting hard drive log data, a connector with a corresponding number of pins can be used to connect the hard drive production debug pins to the GPIO pins of the baseboard management controller processing component or the I / O pins of a complex programmable logic device.

[0115] Since the hard disk idle pin is usually only available in the interface of NVMe interface hard disks, high-speed signals cannot be left floating. Currently, the hard disk idle pin in the NVMe interface is grounded through the resistor and capacitor circuit on the hard disk backplane after the hard disk is connected to the hard disk backplane. If some embodiments of the present application use the hard disk idle pin as the hard disk status pin for the hard disk to output hard disk log data, the connection relationship between the hard disk idle pin and the hard disk backplane is changed to connect to the GPIO pin of the baseboard management controller processing component or the I / O pin of the complex programmable logic device.

[0116] In some optional implementations of some embodiments of the present application, for a serial connection small computer system interface or serial advanced technology attachment interface hard disk (hard disk with SAS or SATA interface), as shown in Figure 2, the hard disk with SAS or SATA interface can be connected to a hard disk expansion card or can be directly connected to a hard disk backplane. In an in-band system, the central processing unit accesses the hard disk expansion card or directly accesses the data pins of the hard disk with SAS or SATA interface through a high-speed serial computer expansion bus to achieve data interaction with the hard disk. In an out-of-band system, if the hard disk expansion card has an integrated circuit bus connected to a baseboard management controller processing component, the baseboard management controller processing component can access the hard disk expansion card through the integrated circuit bus and forward commands or hard disk log data to the hard disk through the hard disk expansion card. In addition, in the baseboard management controller, the baseboard management controller processing component can also be connected to a complex programmable logic device through the integrated circuit bus and then be connected to the hard disk status pin of the hard disk through the complex programmable logic device. Alternatively, the baseboard management controller processing component can also be directly connected to the hard disk status pin of the hard disk.

[0117] Furthermore, the baseboard management controller processing component can also connect to an electrically erasable programmable read-only memory (EEPROM) and sensors via an integrated circuit bus. The EEPROM is used to store server component firmware or register values, while the sensors are located on the server backplane or mainboard to collect physical status data such as temperature and wind speed of server components.

[0118] When a baseboard management controller (BMC) processing component connects to multiple components via an integrated circuit bus, the BMC processing component can access the corresponding component by using its address. It can also access the same component by accessing the addresses of different registers within that component. For example, the BMC processing component can control a complex programmable logic device (CPLD) to update its firmware by accessing its firmware update address.

[0119] In some optional implementations of some embodiments of the present application, for a non-volatile memory host controller interface hard disk (NVMe interface hard disk), as shown in Figure 3, the NVMe interface hard disk can also be connected to a hard disk expansion card or directly connected to a hard disk backplane. In an in-band system, the central processing unit uses a high-speed serial computer expansion bus protocol to interact with the NVMe interface hard disk through a switch to transmit data (transmit instructions, obtain hard disk data, etc.). The central processing unit can also use the virtual pin port (Virtual Pin Port, VPP) of NVMe to connect multiple hard disk backplanes through a multi-way bidirectional conversion switch. The hard disk backplane uses a general-purpose input / output port (General-purpose input / output, GPIO) to obtain or control hard disk status information with the NVMe interface hard disk, such as controlling the hard disk locator light and the fault light. The connection method between the baseboard management controller and the NVMe interface hard disk is the same as that of the hard disk with SAS or SATA interface. Unlike hard drives with SAS or SATA interfaces, the baseboard management controller processing component can be connected to the integrated circuit bus interface of the NVMe interface hard drive through an integrated circuit bus. When one integrated circuit bus of the baseboard management controller processing component is connected to multiple NVMe interface hard drives, a multi-way bidirectional conversion switch can be set to select the NVMe interface hard drive connected to the baseboard management controller processing component, thereby realizing the interaction between the baseboard management controller processing component and the NVMe interface hard drive through the integrated circuit bus.

[0120] Based on the above hard disk monitoring system embodiment, some embodiments of the present application provide a hard disk log data demodulation method. Referring to FIG4 , this method is applied to a baseboard management controller and may include:

[0121] Step 101: Receive a level signal transmitted by a status indication pin of a hard disk device; wherein the level signal is a signal modulated by the hard disk device according to the hard disk log and the original status output signal of the status indication pin; the original status output signal includes a constant level signal and / or a constant frequency square wave signal.

[0122] It is understood that in some embodiments of the present application, the status indication pin of the hard disk device can be a pin provided in the hard disk device for indicating the corresponding hard disk device status by outputting a constant level signal and / or a constant frequency square wave signal; the constant level signal can include a constant high level signal and / or a constant low level signal. In some embodiments of the present application, the level signal transmitted by the status indication pin of the hard disk device can be obtained by modulating the original status output signal of the status indication pin and the hard disk log, so that when the hard disk device outputs the corresponding hard disk device status through the hard disk read and write status indication pin, it can simultaneously output the data of the hard disk log (i.e., hard disk log data).

[0123] Accordingly, in some embodiments of the present application, the original status output signal can be a signal output by the status indication pin when there is no need to output a level signal corresponding to the hard disk log, which is only used to indicate the status of the corresponding hard disk device, that is, a constant level signal and / or a constant frequency square wave signal. In some embodiments of the present application, the hard disk log can be a log of the operating status of the hard disk device, such as an error log of the hard disk operation (such as a read error log and a write error log).

[0124] Correspondingly, for the specific pin type of the status indication pin in some embodiments of the present application, the designer can set it according to the practical scenario and user needs. For example, the status indication pin can adopt the hard disk in-place status indication pin, that is, the hard disk in-place status indication pin can output the current hard disk in-place status of the hard disk device, such as the in-place status of the hard disk device currently in place or the out-of-place status of the hard disk device currently not in place; for example, when the status indication pin adopts the hard disk in-place status indication pin, the original state output signal can include a constant high-level signal corresponding to the in-place state and a constant low-level signal corresponding to the out-of-place state. The status indication pin can also adopt other status indication pins such as the hard disk read-write status indication pin. For example, when the status indication pin adopts the hard disk read-write status indication pin, the hard disk read-write status indication pin can output the current hard disk read-write status of the hard disk device, such as the active state of data reading and writing or the idle state of no data reading and writing; the original state output signal can include a constant frequency square wave signal corresponding to the active state and a constant high-level signal corresponding to the idle state. This embodiment does not impose any restrictions on this.

[0125] Among them, the specific hard disk type of the hard disk device in some embodiments of the present application can be set by the designer. For example, the hard disk device can be a mechanical hard disk or a solid-state hard disk; as long as the hard disk read and write status indication pin of the hard disk device can be connected to the baseboard management controller through a signal line, so that the baseboard management controller can demodulate and obtain the valid data packet of the corresponding hard disk log based on the level signal output by the hard disk read and write status indication pin, this embodiment does not impose any restrictions on this.

[0126] It should be noted that the baseboard management controller provided in some embodiments of the present application may be a baseboard management controller system including a baseboard management controller processing component. For example, the baseboard management controller may only include the baseboard management controller processing component. Due to the limited performance and pin count of the baseboard management controller processing component, as the number of components and items to be monitored increases, the baseboard management controller may also include a complex programmable logic device (CPLD) that is communicatively connected to the baseboard management controller processing component, so as to utilize the CPLD to share the performance pressure of the baseboard management controller processing component and provide more pins for connecting corresponding sensors or monitored components. The CPLD may be a CPLD disposed on the hard disk backplane or a CPLD disposed on the motherboard.

[0127] Correspondingly, some embodiments of the present application do not limit the specific connection method between the baseboard management controller and the status indication pin of the hard disk device. For example, the baseboard management controller processing component in the baseboard management controller can be connected to the status indication pin of the hard disk device, that is, the method provided in some embodiments of the present application can be applied to the baseboard management controller processing component of the baseboard management controller; for example, the baseboard management controller processing component can be connected to the status indication pin of the hard disk device through the GPIO (General-purpose input / output) pin to multiplex the pulse demodulation function of the GPIO pin of the baseboard management controller, facilitate the corresponding demodulation analysis of the hard disk log, and do not require changes to the hardware architecture of the server, which is simple and convenient to implement. In the case where the baseboard management controller includes a baseboard management controller processing component and a complex programmable logic device, the complex programmable logic device in the baseboard management controller can be connected to the status indication pin of the hard disk device, that is, the method provided in some embodiments of the present application can be applied to the complex programmable logic device chip of the baseboard management controller; for example, the complex programmable logic device chip can be connected to the status indication pin of the hard disk device through the I / O (input / output) pin.

[0128] Step 102: Identify demodulated data corresponding to each target rectangular wave signal in the level signal; wherein the width of the target rectangular wave signal is within a preset width range, and the demodulated data includes hard disk log data of the hard disk device.

[0129] It is understood that in some embodiments of the present application, the target rectangular wave signal can be a rectangular wave signal within a preset width range output by the status indication pin, i.e., the rectangular wave signal required for transmitting the hard disk log. In other words, the hard disk device can convert the hard disk log to be transmitted into a corresponding rectangular wave signal within the preset width range (i.e., the target rectangular wave signal), and output it to the baseboard management controller via the status indication pin to achieve the transmission of the hard disk log.

[0130] Accordingly, in some embodiments of the present application, the original state output signal may include a constant level signal, such as a constant high level signal and / or a constant low level signal. For example, when the status indication pin adopts the hard disk in-place status indication pin, the original state output signal may include a constant high level signal corresponding to the in-place state and a constant low level signal corresponding to the not-in-place state, that is, when the hard disk device is in the in-place state and the not-in-place state, the level signal (target rectangular wave signal) corresponding to the hard disk log can be output through the hard disk in-place status indication pin. In other embodiments, the target rectangular wave signal may also include a constant frequency square wave signal. For example, when the status indication pin adopts the hard disk read / write status indication pin, the original state output signal may include a constant frequency square wave signal corresponding to the active state, that is, when the hard disk device is in the active state, the level signal corresponding to the hard disk log can be output through the hard disk read / write status indication pin. In other embodiments, the target rectangular wave signal may also include a constant level signal and a constant frequency square wave signal. For example, when the status indication pin adopts a hard disk read and write status indication pin, the original state output signal may include a constant frequency square wave signal corresponding to the active state and a constant level signal corresponding to the idle state (such as a constant high level signal or a constant low level signal), that is, when the hard disk device is in the active state and the idle state, the level signal corresponding to the hard disk log can be output through the hard disk read and write status indication pin.

[0131] Among them, the specific setting of the target rectangular wave signal can be set by the designer according to the practical scenario and user needs. For example, in order to reduce the changes and calculation amount on the hard disk device side, the level signal output by the hard disk read and write status indication pin can carry the level signals corresponding to the hard disk device status and the hard disk log in a time-sharing manner; that is, the hard disk device can insert the level signal corresponding to the hard disk log (i.e., the rectangular wave signal) during the process of the status indication pin outputting the level signal corresponding to the hard disk device status (i.e., the original state output signal); for example, after the hard disk device obtains the hard disk log to be transmitted and converts the hard disk log into the corresponding rectangular wave signal, it pauses the original state output signal output through the status indication pin and outputs the hard disk log converted into the corresponding rectangular wave signal; after the hard disk log is converted into the corresponding rectangular wave signal, the output of the original state output signal is restored; wherein, the original state output signal can be included between the rectangular wave signals corresponding to the conversion of two adjacent hard disk logs to improve the timeliness of the hard disk read and write status transmission.

[0132] In other embodiments of the present application, the level signal output by the hard disk read / write status indication pin can simultaneously carry the level signals corresponding to the hard disk device status and the hard disk log, so as to improve the transmission efficiency of the hard disk log and the timeliness of the hard disk read / write status transmission. For example, when the original state output signal includes a constant level signal, the target rectangular wave signal can include a rectangular wave signal obtained by inserting a modulated level signal into the constant level signal, the modulated level signal is inverted to the constant level signal, the width of the modulated level signal is less than the lower boundary of the preset width range, and the width of the target rectangular wave signal is related to the hard disk log, so as to achieve the modulation of the level signal corresponding to the hard disk device status and the hard disk log by inserting a narrower inverted level into the constant level signal. For example, when the original state output signal includes a constant high level signal, as shown in Figure 5, the configuration of a high level rectangular wave within the preset width range corresponding to the hard disk log can be achieved by inserting an extremely narrow low level (i.e., an inverted level with an extremely short time) into the constant high level signal; the high level rectangular wave can be a rectangular wave consisting of a rising edge, a high level lasting for a certain period of time, and a falling edge.

[0133] Correspondingly, in order to improve the transmission efficiency of the hard disk log, the constant level signal can be directly replaced with a high-level rectangular wave and a low-level rectangular wave within a preset width range corresponding to the hard disk log, that is, the original state output signal can include a high-level rectangular wave and a low-level rectangular wave corresponding to a certain constant level signal (such as a constant high-level signal or a constant low-level signal).

[0134] Accordingly, if the original state output signal includes a constant-frequency square wave signal, pulse width modulation can be performed on the high-level rectangular wave and / or low-level rectangular wave in the constant-frequency square wave signal to achieve modulation of the level signal corresponding to the hard disk device status and hard disk log. For example, to improve the transmission efficiency of the hard disk log, the target rectangular wave signal can include a high-level rectangular wave modulated from the high-level rectangular wave in the constant-frequency square wave signal and a low-level rectangular wave modulated from the low-level rectangular wave in the constant-frequency square wave signal; the low-level rectangular wave can be a rectangular wave consisting of a falling edge, a low level duration, and a rising edge.

[0135] For example, when the status indication pin adopts the hard disk read / write status indication pin, since the conventional hard disk read / write status indication pin usually outputs a constant high-level signal in the idle state, and outputs a square wave with a fixed period (i.e., a constant frequency square wave signal) in the active state; that is, the original state output signal includes the constant high-level signal when the hard disk read / write state is the idle state and the constant frequency square wave signal when the hard disk read / write state is the active state; the target rectangular wave signal can include the high-level rectangular wave output by the hard disk read / write status indication pin in the idle state and the high-level rectangular wave and low-level rectangular wave output by the hard disk read / write status indication pin in the active state.

[0136] It is understandable that the preset width range in some embodiments of the present application can be the range of the width of the level signal corresponding to the hard disk log, that is, the preset range of the width that can be converted into the corresponding demodulated data. For the specific number of preset width ranges in some embodiments of the present application, the designer can set it according to the practical scenario and user needs. For example, the number of preset width ranges can be 1, that is, the baseboard management controller can use a fixed preset width range to identify the demodulated data corresponding to the target rectangular wave signal output by the status indication pin in one hard disk device state or two different hard disk device states (such as idle state and active state). For example, when the status indication pin adopts the hard disk read and write status indication pin, the original status output signal includes a constant high-level signal in the idle state and a constant-frequency square wave signal in the active state, and the target rectangular wave signal includes a high-level rectangular wave output by the hard disk read and write status indication pin in the idle state and a high-level rectangular wave and a low-level rectangular wave output by the hard disk read and write status indication pin in the active state. The baseboard management controller can use a preset width range to identify the target rectangular wave signal in the level signal output by the hard disk read and write status indication pin, and determine the demodulated data corresponding to each target rectangular wave signal; and the hard disk read and write status of the hard disk device during the hard disk log transmission process can be identified by detecting the modulated level signal (i.e., an extremely narrow low level).

[0137] Correspondingly, in some embodiments of the present application, the number of preset width ranges can also be 2, that is, the preset width range includes a first width range and a second width range, and the first width range and the second width range do not intersect. By setting the first width range and the second width range, the hard disk device can transmit the level signal corresponding to the hard disk log (that is, the target rectangular wave signal) through modulated continuous high-level rectangular waves and low-level rectangular waves in two different hard disk device states, thereby improving the transmission efficiency of the hard disk log. For example, the original state output signal includes a constant high-level signal and a constant low-level signal, such as a constant high-level signal corresponding to the in-place state and a constant low-level signal corresponding to the out-of-place state of the hard disk external state indication pin; the target rectangular wave signal may include a first target rectangular wave signal (i.e., a high-level rectangular wave corresponding to the hard disk log with a width within a first width range) and a second target rectangular wave signal (i.e., a high-level rectangular wave and a low-level rectangular wave corresponding to the hard disk log with a width within a second width range); the baseboard management controller can use the first width range to identify the first target rectangular wave signal in the level signal output by the status indication pin, and determine the demodulated data corresponding to each first target rectangular wave signal; use the second width range to identify the second target rectangular wave signal in the level signal output by the status indication pin, and determine the demodulated data corresponding to each second target rectangular wave signal; and the width detection of the level signal output by the status indication pin can be used to realize the identification of the hard disk device status during the hard disk log transmission process, such as determining that the hard disk read and write state is an idle state when it is detected that the widths of a continuous target number (e.g., 3) of rectangular waves are all within the first width range, and determining that the hard disk read and write state is an active state when it is detected that the widths of a continuous target number of rectangular waves are all within the second width range.

[0138] Among them, for the setting of the specific range value of the preset width range in some embodiments of the present application, the designer can set it according to the practical scenario and user needs. For example, when the hard disk read and write status indicator pin of the hard disk device transmits the hard disk log in hexadecimal, the preset width range can include the preset width value corresponding to each of the hexadecimal values ​​(1-F); accordingly, when the hard disk log is transmitted in other bases (such as decimal or thirty-binary), the preset width range can include the preset width value corresponding to each of the other bases, such as the preset width range can also be the preset width value corresponding to each of the thirty-binary values. Further, in order to facilitate the transmission and identification of the data packet (i.e., valid data packet) corresponding to the hard disk log, the preset width range can also include the preset width value corresponding to the preset identification data; as shown in Figure 6, the preset width range can include 17 preset width values ​​(times) of 42-58ms, i.e., 16 preset width values ​​of 42-49ms and 51-58ms corresponding to the hexadecimal values ​​(demodulated data) and 50ms corresponding to the preset identification data (null value).

[0139] It is understood that some embodiments of the present application illustrate the process of obtaining data packets (i.e., valid data packets) from a hard disk log corresponding to a level signal output by a baseboard management controller (BMC) from an indicator pin of a hard disk device. Accordingly, the BMC can also identify the hard disk device status of the hard disk device based on the level signal output by the status indicator pin of the hard disk device. For example, in step 102, the BMC can identify the demodulated data corresponding to each target rectangular wave signal in the level signal and the hard disk device status of the hard disk device based on the level signal output by the status indicator pin.

[0140] Correspondingly, the baseboard management controller can also control the lighting and extinguishing of the hard disk status indicator light according to the identified hard disk device status, so as to utilize the baseboard management controller to identify the hard disk device status and realize the independent control of the hard disk status indicator light. There is no need to directly control the hard disk status indicator light by utilizing the level signal output by the status indication pin, thereby avoiding the situation where the hard disk device status display mode (such as always on and always off) of the hard disk status indicator light is different from the original display mode due to the modulation and addition of hard disk log data in the level signal output by the status indication pin.

[0141] It should be noted that, for some embodiments of the present application in step 102, the specific method in which the baseboard management controller identifies the demodulated data corresponding to each target rectangular wave signal in the level signal can be set by the designer. For example, the baseboard management controller can detect the rising edge and falling edge of the level signal output by the status indication pin; determine the width of each level signal based on the rising edge and falling edge; determine the demodulated data corresponding to each target rectangular wave signal in the level signal based on the width and the preset width range, thereby realizing the demodulation of the hard disk log data transmitted by the detection status indication pin.

[0142] Correspondingly, when the original state output signal only includes constant level signals (such as constant high level signals and constant low level signals), and the target rectangular wave signal only includes the rectangular wave signal obtained by inserting the modulated level signal into the constant level signal, the baseboard management controller can also detect the rising edge or falling edge of the level signal output by the status indication pin; according to the rising edge or falling edge, the preset width of the modulated level signal is used to determine the width of each level signal; according to the width and the preset width range, the demodulated data corresponding to each target rectangular wave signal in the level signal is determined.

[0143] Step 103: Determine a valid data packet according to the demodulated data; wherein the valid data packet includes a preset number of continuous demodulated data, and the demodulated data at a preset position within the valid data packet is the preset identification data.

[0144] It is understandable that the valid data packet in some embodiments of the present application may be a data packet for transmitting hard disk log data in a hard disk log. The valid data packet in some embodiments of the present application may include a continuous preset number of demodulated data, that is, the demodulated data corresponding to the preset number of target rectangular wave signals sequentially output by the identified hard disk read and write status indication pins. The preset number in some embodiments of the present application may be the number of demodulated data in the valid data packet; some embodiments of the present application do not limit the specific value of the preset number, such as the preset number may be 9, that is, the valid data packet may be composed of demodulated data corresponding to 9 target rectangular wave signals received sequentially; the preset number may be other values, such as 10 or 8.

[0145] Correspondingly, the specific content settings of the valid data packet in some embodiments of the present application can be set by the designer according to the practical scenarios and user needs. For example, the valid data packet can include not only the hard disk log data, but also the preset identification data of the first preset package position in the valid data packet, so that the baseboard management controller can correctly identify the complete valid data packet through the setting of the preset identification data; for example, the first preset package position can be the starting position of the data packet, that is, the baseboard management controller can determine a continuous preset number of demodulated data starting with the preset identification data as a valid data packet; the first preset package position can be the starting position or other positions in the preset number of positions in the data packet, such as the end position of the data packet, that is, the baseboard management controller can determine a continuous preset number of demodulated data ending with the preset identification data as a valid data packet.

[0146] That is to say, in some embodiments of the present application, the baseboard management controller can identify a continuous preset number of demodulated data as valid data packets of the hard disk log by identifying the preset identification data, so as to realize the data packet transmission of the hard disk log and facilitate the subsequent forwarding or acquisition of the hard disk log.

[0147] Correspondingly, in some embodiments of the present application, the baseboard management controller includes a baseboard management controller processing component and a complex programmable logic device (CPLD), which is connected to the status indication pin of the hard disk device. That is, when the methods provided in some embodiments of the present application are applied to a CPLD connected to the baseboard management controller processing component, after step 103, the CPLD can sequentially forward valid data packets to the baseboard management controller processing component, so that the baseboard management controller processing component can display the hard disk log corresponding to the valid data packets on a web interface. Accordingly, the baseboard management controller processing component can obtain the hard disk device's hard disk log based on the valid data packets sent by the CPLD and display the hard disk log on the web interface, thereby achieving out-of-band monitoring of the hard disk log. In other words, due to the relatively low computing power of the CPLD, in some embodiments of the present application, the process of splicing the hard disk log using the valid data packets can be offloaded to the baseboard management controller processing component. Similarly, after step 103, the CPLD can also obtain the hard disk device's hard disk log based on the valid data packets and send the hard disk log to the baseboard management controller processing component, so that the baseboard management controller processing component can display the hard disk log on the web interface. This embodiment does not impose any limitations on this.

[0148] In other embodiments of the present application, the baseboard management controller processing component in the baseboard management controller can be connected to the status indication pin of the hard disk device, that is, the method provided in some embodiments of the present application can be applied to the baseboard management controller processing component. After step 103, the baseboard management controller processing component can obtain the hard disk log of the hard disk device based on the valid data packet, and display the hard disk log on the web interface to realize out-of-band monitoring of the hard disk log.

[0149] In some embodiments of the present application, a baseboard management controller is connected to the status indication pin of a hard disk device, and out-of-band monitoring of the hard disk device is achieved by directly outputting hard disk log data to the baseboard management controller through the status indication pin of the hard disk device. This solves the problem in traditional hard disk out-of-band monitoring solutions that the out-of-band management system has no authority to access hard disk data, making out-of-band monitoring of the hard disk device difficult to achieve, and increases the range of hard disk devices that can be monitored out-of-band by the baseboard management controller; and by modulating the level signal output by the status indication pin, a hard disk log output function is added on the basis of its original status indication output function, and the baseboard management controller can obtain hard disk log data after demodulating and processing the modulated level signal. This can utilize the existing status indication pin of the hard disk device to achieve the transmission of hard disk logs without affecting its original function, thereby reducing the difficulty of out-of-band monitoring of the hard disk device.

[0150] Based on some embodiments of the present application, please refer to Figure 7, which is a flow chart of another hard disk log data demodulation method provided by some embodiments of the present application. This method is applied to a complex programmable logic device in a baseboard management controller and may include:

[0151] Step 201: Receive a level signal transmitted by a status indication pin of a hard disk device; wherein the level signal is a signal modulated by the hard disk device according to the hard disk log and the original status output signal of the status indication pin; the original status output signal includes any two of a constant high level signal, a constant low level signal, and a constant frequency square wave signal.

[0152] It can be understood that the baseboard management controller in some embodiments of the present application may include a baseboard management controller processing component and a complex programmable logic device, and the baseboard management controller processing component is communicatively connected to the complex programmable logic device, such as using an I2C (Inter-Integrated Circuit) bus connection; as shown in Figure 8, the baseboard management controller processing component and the complex programmable logic device can be connected through the bidirectional data line (SDA) and clock line (SCL) of the I2C bus; the complex programmable logic device can be connected to the status indication pin of the hard disk device, that is, the data demodulation method of the hard disk log provided in some embodiments of the present application is applied to the complex programmable logic device in the baseboard management controller, so as to utilize the demodulation logic set in the complex programmable logic device to demodulate the level signal transmitted by the status indication pin to obtain a corresponding valid data packet, that is, a hard disk log in the form of a data packet.

[0153] Correspondingly, the original state output signal in some embodiments of the present application may include any two of a constant high-level signal, a constant low-level signal, and a constant frequency square wave signal, that is, the hard disk device can output the level signal corresponding to the hard disk log through the status indication pin when it is in the two hard disk device states corresponding to the status indication pin.

[0154] Step 202: Detect the rising edge and the falling edge of the level signal.

[0155] Among them, in some embodiments of the present application, the complex programmable logic device can detect the rising edge and falling edge of the level signal transmitted by the status indication pin of the hard disk device, that is, detect the level change of the status indication pin of the hard disk device input to the complex programmable logic device, and use the detected rising edge and falling edge to distinguish the various level signals transmitted by the status indication pin, that is, each level signal can be a rectangular wave composed of a rising edge, a falling edge and a high level or a low level lasting for a certain period of time.

[0156] Step 203: Determine the width of each level signal according to the rising edge and the falling edge.

[0157] It should be noted that in this step, the complex programmable logic device can use the detected rising edge and falling edge to determine the width (ie, duration) of each level signal transmitted by the status indication pin of the hard disk device.

[0158] Correspondingly, the specific method for the complex programmable logic device to determine the width of each level signal based on the rising edge and falling edge in this step can be set by the designer according to the usage scenario and user needs. The complex programmable logic device can continue to use the counter to count and update the count value of the counter when no rising edge or falling edge is detected; when a rising edge or falling edge is detected, the count value of the counter is used as the width of a level signal corresponding to the rising edge or falling edge. That is, each time a rising edge or falling edge is detected, it can be said that a level signal (that is, a rectangular wave) has been received.

[0159] As shown in Figure 9, in this step, the complex programmable logic device can set the rising edge state flag (such as pos) in the rising edge state register to the existing state (such as 1) when a rising edge is detected, and use the count value of the counter (such as pin_cnt counter) to update the width in the width register (such as hdd_pin_cnt_data register), and clear the counter; when a falling edge is detected, set the falling edge state flag (such as neg) in the falling edge state register to the existing state, use the count value to update the width in the width register, and clear the counter; when no rising edge or falling edge is detected, set both the rising edge state flag and the falling edge state flag to the non-existent state, and continue to use the counter to count and update the count value of the counter; for example, when no rising edge or falling edge is detected, the counter accumulates the count once every millisecond and updates the count value in the counter, such as the count value of the counter + 1 in Figure 9, that is, the count value in the counter is increased by 1 every millisecond.

[0160] Furthermore, in order to reduce the impact of invalid counts of the counter on complex programmable logic devices; as shown in Figure 9, in some embodiments of the present application, after continuously using the counter to count and updating the count value of the counter, it can be determined whether the updated count value is greater than the counting threshold; if it is greater than the counting threshold, the counting of the counter is stopped; if it is not greater than the counting threshold, the steps of continuously using the counter to count and update the count value are continued.

[0161] Step 204: Determine the demodulated data corresponding to each target rectangular wave signal in the level signal according to the width and the preset width range.

[0162] It should be noted that in some embodiments of the present application, by setting a preset width range, the level signal (i.e., the target rectangular wave signal) corresponding to the hard disk log under the two hard disk device states corresponding to the status indication pin can be demodulated, thereby improving the demodulation efficiency of the level signal.

[0163] Correspondingly, in this step, the complex programmable logic device can determine the demodulated data corresponding to each rectangular wave signal (i.e., the target rectangular wave signal) within the preset width range in the level signal based on the determined width of each level signal and the preset width range. As shown in FIG10 , when the rising edge state flag or the falling edge state flag is in the presence state (e.g., pos=1 or neg=1), the complex programmable logic device can determine whether the width in the width register (e.g., the hdd_pin_cnt_data register) is within the preset width range; if it is within the preset width range, the complex programmable logic device determines the demodulated data corresponding to the width in the width register based on the preset demodulation relationship information. The preset demodulation relationship information includes the correspondence relationship information between each preset width value within the preset width range and the corresponding preset demodulated data, and the preset demodulated data includes preset identification data and valid data. As shown in FIG10 , the preset demodulated data can include 16 valid data of hexadecimal values ​​(0-F) and 1 preset identification data (null).

[0164] In some embodiments of the present application, the complex programmable logic device can also identify the hard disk device status of the hard disk device based on the width of the determined level signal; and control the lighting and extinguishing of the hard disk status indicator light accordingly based on the hard disk device status. For example, when the status indication pin is a hard disk read / write status indication pin, if the target rectangular wave signal includes a high-level rectangular wave output by the hard disk read / write status indication pin in an idle state and a high-level rectangular wave and a low-level rectangular wave output by the hard disk read / write status indication pin in an active state; then the complex programmable logic device can determine that the hard disk device is in an idle state when a low-level rectangular wave with a width less than the lower boundary of a preset width range is detected; and determine that the hard disk device is in an active state when a low-level rectangular wave with a width not less than the lower boundary of the preset width range is detected.

[0165] Correspondingly, in some embodiments of the present application, the specific manner in which the complex programmable logic device controls the lighting and extinguishing of the hard disk status indicator light according to the identified hard disk device state can be set by the designer. For example, the complex programmable logic device can be directly connected to the hard disk read / write status indicator light, and drive the hard disk status indicator light to light up and go out according to the identified hard disk device state; as shown in Figure 8, an indicator light driver module can be set in the complex programmable logic device to output a drive signal corresponding to the identified hard disk device state through the indicator light driver module, and drive the hard disk status indicator light to light up and go out accordingly; for example, when it is identified that the hard disk device is in an active state, a 10Hz drive signal can be output through the indicator light driver module to drive the corresponding hard disk status indicator light (i.e., the hard disk read / write status indicator light) to flash. The complex programmable logic device can also be connected to the hard disk status indicator light through a state control circuit; according to the identified hard disk device state, the state control circuit can be controlled to drive the hard disk status indicator light to light up and go out; the state control circuit can include an amplification drive circuit.

[0166] Step 205: Determine a valid data packet according to the demodulated data; wherein the valid data packet includes a preset number of continuous demodulated data, and the demodulated data at a preset position within the valid data packet is the preset identification data.

[0167] It is understood that in some embodiments of the present application, a valid data packet may be a data packet used to transmit hard disk log data in a hard disk log. In some embodiments of the present application, a valid data packet may include a continuous preset number of demodulated data, i.e., demodulated data corresponding to a preset number of target rectangular wave signals sequentially output by the identified hard disk read / write status indication pins. In some embodiments of the present application, the preset number may be the number of demodulated data within the valid data packet.

[0168] Correspondingly, in this step, the specific manner in which the complex programmable logic device determines a valid data packet based on the demodulated data can be set by the designer. For example, when the complex programmable logic device detects that the demodulated data at a preset position in a preset data packet among a preset number of consecutive demodulated data is preset identification data, the complex programmable logic device can determine this preset number of consecutive demodulated data as a valid data packet.

[0169] For example, as shown in FIG10 , when the demodulated data corresponding to the width in the width register is the preset identification data (null), the complex programmable logic device can set the invalid state flag (such as null_flag) in the invalid state register to the existing state (such as 1'b1), set the valid state flag (such as data_code_flag) in the valid state register to the non-existent state (1'b0), use the pulse data register (such as data_code register) to store the demodulated data, add 1 to the value in the pulse number counter (such as cnt); use the invalid data register (such as nibble_fl ag register) stores the invalid state flag (such as 1'b1) in the invalid state register, and shifts the data in the invalid data register; uses the data packet register (such as the data_code_temp register) to store the demodulated data (data_code) in the pulse data register, and shifts the data in the data packet register; determines whether the value in the pulse quantity counter is a preset number (such as 9); if it is the preset number, determines whether the data in the invalid data register is the preset data (such as 100000000); if it is the preset data, determines the data in the data packet register as a valid data packet.

[0170] Correspondingly, when the demodulated data corresponding to the width in the width register is valid data (0-F), the complex programmable logic device can set the invalid state flag (such as null_flag) in the invalid state register to the non-existent state (such as 1'b0), and set the valid state flag (such as data_code_flag) in the valid state register to the existing state (such as 1'b1), use the pulse data register (such as data_code register) to store the demodulated data, add 1 to the value (such as cnt) in the pulse number counter; use the invalid data register (such as nibble_flag register) to store the invalid state flag (such as 1'b0) in the invalid state register, and shift the data in the invalid data register; use the data packet register to store the demodulated data (data_code) in the pulse data register, and shift the data in the data packet register; and execute the above steps of determining whether the value in the pulse number counter is a preset number.

[0171] That is, as shown in Figure 10, when the preset number is 9, the invalid data register (such as the nibble_flag register) can be used to store a preset number of invalid status identifiers. Each time a new invalid status identifier is stored, the previous data in the invalid data register can be moved forward by one bit, and the previous data in the first bit is discarded so that the new invalid status identifier can be stored in the last bit. For example, when the new invalid status identifier is the existing state, nibble_flag = {nibble_flag[8:0],1'b1}; when the new invalid status identifier is the non-existent state, nibble_flag = {nibble_flag[8:0],1'b0}. The data packet register (data_code_temp register) can be used to store a preset amount of demodulated data. When the demodulated data is hexadecimal data, each time new demodulated data is stored, the previous data in the data packet register can be moved forward 4 bits, and the previous data in bits 1-4 (i.e., one demodulated data) is discarded so that the new demodulated data can be stored in the last 4 bits, such as data_code_temp[35:0] = {data_code_temp[31:0], data_code}.

[0172] Correspondingly, after the above judgment on whether the value in the pulse number counter is the preset number, if it is determined that the value in the pulse number counter is not the preset number, you can wait for the situation where the rising edge state identifier or the falling edge state identifier is detected as the existence state again. After the above judgment on whether the data in the invalid data register is the preset data, if it is determined that the data in the invalid state register is not the preset data, the value in the pulse number counter can be -1, so that when the rising edge state identifier or the falling edge state identifier is detected as the existence state again, the value in the pulse number counter can still reach the preset number.

[0173] Step 206: Send the valid data packets to the baseboard management controller processing component in sequence, so as to utilize the baseboard management controller processing component to display the hard disk log corresponding to the valid data packets in the web interface.

[0174] It is understood that in some embodiments of the present application, the complex programmable logic device can sequentially forward the determined valid data packets to the baseboard management controller processing component. Accordingly, the baseboard management controller processing component can obtain the hard disk device's hard disk log based on the valid data packets sent by the complex programmable logic device and display the hard disk log on the web interface to achieve out-of-band monitoring of the hard disk log.

[0175] Correspondingly, in some embodiments of the present application, the complex programmable logic device utilizes a data packet storage register to sequentially send valid data packets to a baseboard management controller processing component, so that the baseboard management controller processing component can display the hard disk log corresponding to the valid data packets in a web interface. As shown in FIG10 , the complex programmable logic device can determine the data in the data packet register as a valid data packet, output the data in the data packet register as a new valid data packet, and set a new data flag (such as valid_data_refresh_flag) to a present state, so that the complex programmable logic device can store the new valid data packet in the data packet storage register according to the new data flag.

[0176] Furthermore, to prevent the data content in the data packet storage register from not being updated when the baseboard management controller processing component reads a valid data packet from the data packet storage register, in some embodiments of the present application, the complex programmable logic device can, when the baseboard management controller processing component recognizes a new valid data packet during the process of reading the valid data packet from the data packet storage register, store the new valid data packet in a temporary register. In other words, the complex programmable logic device can, through the setting of the temporary register, temporarily store the new valid data packet in the temporary register, without affecting the subsequent determination and output of the valid data packet, so that the data content in the data packet storage register will not be updated when the baseboard management controller processing component reads the data packet, thereby ensuring the accuracy of the valid data packet read by the baseboard management controller processing component.

[0177] As shown in Figures 11 and 12, when the baseboard management controller processing component performs a read operation on the complex programmable logic device of the backplane through the I2C bus, the address of the data packet storage register accessed may be 0x60; the complex programmable logic device may determine whether the read address in the data read instruction (such as bmc_cmd) of the baseboard management controller processing component is the address of the data packet storage register (i.e., 8'h60); if it is not the address of the data packet storage register, it may determine whether the new data identifier (such as valid_data_refresh_flag) or the new data temporary storage identifier (such as valid_refresh_temp) is in the existing state (such as 1'b1); if the new data identifier or the new data temporary storage identifier is in the existing state, it may identify To a new valid data packet (such as byte[31:0] with null removed) or a valid data packet stored in the temporary register is updated to the data packet storage register (such as HDD0_byte0_reg register), waiting for the baseboard management controller processing component to read, and the valid data identifier (such as valid_map) corresponding to the data packet storage register is set to the exist state, and the new data identifier and the new data temporary identifier can also be set to the non-existent state; if it is the address of the data packet storage register, then when the new data identifier is in the exist state, the new valid data packet will be identified and stored in the temporary register, and the new data temporary identifier will be set to the exist state, keeping the data content in the data packet storage register unchanged, and the new data identifier can also be set to the non-existent state.

[0178] Accordingly, in some embodiments of the present application, the temporary register and the data packet storage register can only store valid data in the valid data packet (i.e., the demodulated data other than the preset identification data), that is, the complex programmable logic device can send the valid data in the valid data packet to the baseboard management controller processing component in sequence to reduce the transmission of the preset identification data.

[0179] Correspondingly, as shown in FIG12 , the read address in the data read instruction of the baseboard management controller processing component is the address of the data packet storage register. That is, when the baseboard management controller processing component reads the data content in the data packet storage register, the complex programmable logic device can determine whether the new data identifier is in the exist state; if so, it stores the new valid data packet in the temporary storage register and sets the new data temporary storage identifier to the exist state; if not, it keeps the new data temporary storage identifier unchanged. When the read address in the data read instruction of the baseboard management controller processing component is not the address of the data packet storage register, it determines whether the valid data identifier is in the exist state, that is, the data in the data packet storage register is updated by the new valid data packet; if so, it sets the new data temporary storage identifier to the do not exist state; if not, it keeps the new data temporary storage identifier unchanged.

[0180] Furthermore, upon detecting that the baseboard management controller processing component has finished reading the data packet storage register, the complex programmable logic device can update the valid data packet in the temporary register to the data packet storage register, thereby increasing the data update speed in the data packet storage register. As shown in Figure 13, when the read address in the baseboard management controller's data read instruction is the address of the data packet storage register, if the value of the bus read data counter (rvReadbyteCnt) is greater than or equal to the data threshold (9'ha), the valid data flag corresponding to the data packet storage register can be set to a non-existent state. In other words, the complex programmable logic device can determine whether the baseboard management controller processing component is about to finish reading the data in the data packet storage register by judging whether the value of the bus read data counter (rvReadbyteCnt) is greater than or equal to the data threshold (9'ha), thereby further increasing the data update speed in the data packet storage register.

[0181] Furthermore, in some embodiments of the present application, the complex programmable logic device can also feed back information about the valid data packet with a transmission error (such as the reception time) to the hard disk device, so that the hard disk device can resend the valid data packet with a transmission error before through the status indication pin. For example, when the data in the invalid data register has two invalid state identifiers (such as 010000001) in the existing state, the complex programmable logic device can determine the valid data packet corresponding to the invalid state identifier of the previous existing state as the valid data packet with a transmission error. For example, the complex programmable logic device can send a reverse transmission request signal to the status indication pin when the current moment is in the preset negotiation time period, and send a hard disk log command to the status indication pin when receiving the permission signal returned by the status indication pin; wherein the hard disk log command includes a data packet retransmission command; the preset negotiation time period can be a time period agreed upon by the complex programmable logic device and the hard disk device.

[0182] For example, if a complex programmable logic device and a hard disk device agree not to transmit a level signal corresponding to the hard disk log during a preset negotiation time period, and the complex programmable logic device needs to feedback a hard disk log command, it can send a reverse transmission request to the status indication pin when the current moment is in the preset negotiation time period, such as a 30-millisecond reverse transmission request flag. After the hard disk device recognizes the reverse transmission request and determines that it is currently in the negotiation time period, it will feedback a permission signal allowing reverse transmission to the complex programmable logic device. After receiving the permission signal, the complex programmable logic device reversely transmits the hard disk log command to the hard disk device through the status indication pin. The hard disk device executes the hard disk log command and can promptly resend the erroneous valid data packet.

[0183] In some embodiments of the present application, a complex programmable logic device is used to demodulate and identify the status indication pin of the hard disk device to transmit valid data packets of the hard disk log, and forward them to the baseboard management controller processing component. This can reduce the performance impact of out-of-band monitoring of the hard disk device on the baseboard management controller processing component, and reduce the limitation of the number of pins of the baseboard management controller processing component on the number of hard disk devices monitored out-of-band.

[0184] Corresponding to the above method embodiment, the embodiment of the present application also provides a data demodulation device for a hard disk log. The data demodulation device for a hard disk log described below and the data demodulation method for a hard disk log described above can refer to each other.

[0185] Please refer to Figure 14, which is a block diagram of a hard disk log acquisition device provided by an embodiment of the present application. The device is applied to a baseboard management controller and may include:

[0186] The receiving module 10 is configured to receive a level signal transmitted by a status indication pin of a hard disk device; wherein the level signal is a signal modulated by the hard disk device based on the hard disk log and the original status output signal of the status indication pin; the original status output signal includes a constant level signal and / or a constant frequency square wave signal;

[0187] The demodulation module 20 is used to identify demodulated data corresponding to the target rectangular wave signal in the level signal; wherein the width of the target rectangular wave signal is within a preset width range, and the demodulated data includes hard disk log data of the hard disk device;

[0188] The determination module 30 is configured to determine a valid data packet according to the demodulated data; wherein the valid data packet includes a continuous preset number of demodulated data, and the demodulated data at a preset position within the valid data packet is the preset identification data.

[0189] In some embodiments, the original state output signal includes a constant level signal, the target rectangular wave signal includes a rectangular wave signal obtained by inserting a modulated level signal into the constant level signal, the modulated level signal is inverted to the constant level signal, the width of the modulated level signal is smaller than the lower boundary of the preset width range, and the width of the target rectangular wave signal is related to the hard disk log.

[0190] In some embodiments, the original state output signal also includes a constant frequency square wave signal, and the target rectangular wave signal also includes a high-level rectangular wave obtained by modulating the high-level rectangular wave in the constant frequency square wave signal and a low-level rectangular wave obtained by modulating the low-level rectangular wave in the constant frequency square wave signal.

[0191] In some embodiments, the status indication pin includes a hard disk read / write status indication pin, and the original status output signal includes a constant high-level signal when the hard disk read / write status is an idle state and a constant-frequency square wave signal when the hard disk read / write status is an active state;

[0192] The target rectangular wave signal includes a high-level rectangular wave output by the hard disk read / write status indication pin in an idle state and a high-level rectangular wave and a low-level rectangular wave output by the hard disk read / write status indication pin in an active state.

[0193] In some embodiments, the original state output signal includes a constant high level signal and a constant low level signal;

[0194] The preset width range includes a first width range corresponding to the constant high-level signal and a second width range corresponding to the constant low-level signal, and the first width range and the second width range do not intersect;

[0195] The target rectangular wave signal includes a high-level rectangular wave and a low-level rectangular wave corresponding to a hard disk log with a width within a first width range and a high-level rectangular wave and a low-level rectangular wave corresponding to a hard disk log with a width within a second width range.

[0196] In some embodiments, identifying demodulated data corresponding to each target rectangular wave signal in the level signal includes:

[0197] Identify the demodulated data and the hard disk device status of the hard disk device according to the level signal;

[0198] According to the status of the hard disk device, the hard disk status indicator light is controlled to turn on and off.

[0199] In some embodiments, the apparatus may further comprise:

[0200] The feedback control module is used to send a reverse transmission request signal to the status indication pin when the current moment is a preset negotiation time period, and to send a hard disk log command to the status indication pin when receiving a permission signal returned by the status indication pin; wherein the hard disk log command includes a data packet retransmission command.

[0201] In some embodiments, a baseboard management controller includes a baseboard management controller processing component and a complex programmable logic device, wherein the complex programmable logic device is connected to a status indication pin of a hard disk device. The apparatus is applied to the complex programmable logic device in the baseboard management controller and may further include:

[0202] The cache forwarding module is used to use the data packet storage register to send valid data packets to the baseboard management controller processing component in sequence, so as to use the baseboard management controller processing component to display the hard disk log corresponding to the valid data packets in the web page interface.

[0203] In some embodiments, the cache forwarding module may include:

[0204] The temporary storage submodule is used to store a new valid data packet into the temporary storage register if a new valid data packet is identified during the process of the baseboard management controller processing component reading the valid data packet from the data packet storage register.

[0205] In some embodiments, the temporary storage submodule may include:

[0206] An address judging unit, configured to judge whether a read address in a data read instruction of a baseboard management controller processing component is an address of a data packet storage register;

[0207] an identification judgment unit, for judging whether the new data identification or the new data temporary storage identification is in an existing state if the address is not the address of the data packet storage register;

[0208] a data updating unit, configured to update a new valid data packet identified and / or a valid data packet stored in the temporary register to a data packet storage register if the new data identifier or the new data temporary storage identifier is in the exist state, and set the valid data identifier corresponding to the data packet storage register to the exist state;

[0209] The temporary storage unit is used to store a new valid data packet into the temporary storage register if it is the address of the data packet storage register, and set the new data temporary storage flag to the existing state when the new data flag is in the existing state.

[0210] In some embodiments, the temporary storage submodule may include:

[0211] The temporary storage updating unit is used to update the valid data packet in the temporary storage register to the data packet storage register after storing the new valid data packet in the temporary storage register if it is detected that the baseboard management controller processing component has finished reading the data packet storage register.

[0212] In some embodiments, a complex programmable logic device is connected to a baseboard management controller processing component via an integrated circuit bus, and the temporary update unit can be specifically used to set the valid data flag corresponding to the data packet storage register to a non-existent state when the read address in the data read instruction of the baseboard management controller is the address of the data packet storage register, if the value of the bus read data counter is greater than or equal to the data threshold.

[0213] In some embodiments, the apparatus may further comprise:

[0214] The splicing acquisition module is used to obtain the hard disk log of the hard disk device according to the valid data packet;

[0215] The log display module is used to display the hard disk log on the web interface.

[0216] In some embodiments, the demodulation module 20 may include:

[0217] The change detection submodule is used to detect the rising and falling edges of the level signal;

[0218] The width determination submodule is used to determine the width of each level signal according to the rising edge and the falling edge;

[0219] The data determination submodule is used to determine the demodulated data corresponding to each target rectangular wave signal in the level signal according to the width and the preset width range.

[0220] In some embodiments, the width determination submodule may include:

[0221] a first determining unit, configured to, when a rising edge is detected, set a rising edge state flag in a rising edge state register to an exist state, update a width in a width register using a count value of a counter, and clear the counter;

[0222] a second determining unit, configured to, when a falling edge is detected, set a falling edge state flag in a falling edge state register to an existent state, update a width in a width register using a count value, and clear a counter;

[0223] The counting unit is used to set both the rising edge state flag and the falling edge state flag to a non-existent state when no rising edge or falling edge is detected, and to continue counting with the counter to update the count value.

[0224] In some embodiments, the counting unit can also be used to determine whether the count value is greater than the count threshold after updating the count value; if it is greater than the count threshold, the counter is stopped from counting; if it is not greater than the count threshold, the counter is continued to count and the count value is updated.

[0225] In some embodiments, the data determination submodule may include:

[0226] a width determination unit, configured to determine whether the width in the width register is within a preset width range when the rising edge state flag or the falling edge state flag is in the presence state;

[0227] A data determination unit is used to determine the demodulation data corresponding to the width in the width register according to the preset demodulation relationship information if it is within the preset width range; wherein the preset demodulation relationship information includes the correspondence relationship information between each preset width value within the preset width range and the corresponding preset demodulation data, and the preset demodulation data includes preset identification data and valid data.

[0228] In some embodiments, the determination module 30 may include:

[0229] an identification determination submodule, configured to, if the demodulated data corresponding to the width in the width register is preset identification data, set the invalid state identification in the invalid state register to the existing state, set the valid state identification in the valid state register to the non-existing state, use the pulse data register to store the demodulated data, and increase the value in the pulse number counter by 1;

[0230] A first shift submodule is configured to use an invalid data register to store an invalid state flag in an invalid state register, and perform a shift operation on data in the invalid data register;

[0231] a second shift submodule, configured to use the data packet register to store the demodulated data in the pulse data register and perform a shift operation on the data in the data packet register;

[0232] The quantity judgment submodule is used to judge whether the value in the pulse quantity counter is a preset quantity;

[0233] The data judgment submodule is used to judge whether the data in the invalid data register is the preset data if it is the preset number; if it is the preset data, determine the data in the data packet register as a valid data packet.

[0234] Corresponding to the above method embodiment, the embodiment of the present application also provides a data modulation method for a hard disk log. The data modulation method for a hard disk log described below and the data demodulation method for a hard disk log described above can be referenced to each other.

[0235] Please refer to Figure 15, which is a flow chart of a data modulation method for a hard disk log provided by an embodiment of the present application. The method is applied to a hard disk device and may include:

[0236] Step 301: Obtain the hard disk log to be transmitted.

[0237] In some embodiments of the present application, the hard disk log to be transmitted may be a hard disk log that needs to be transmitted to a baseboard management controller.

[0238] Step 302: According to the hard disk log to be transmitted, the original state output signal of the state indication pin is modulated to obtain a corresponding level signal; wherein the original state output signal includes a constant level signal and / or a constant frequency square wave signal.

[0239] It can be understood that in some embodiments of the present application, the hard disk device can modulate the original status output signal of the status indication pin (such as a constant level signal and / or a constant frequency square wave signal) according to the acquired hard disk log to be transmitted to obtain a corresponding level signal; that is, the level signal output by the status indication pin of the hard disk device can be modulated by the hard disk device status of the hard disk device and the hard disk log to be transmitted.

[0240] Specifically, for the specific modulation method of the level signal corresponding to the hard disk log in some embodiments of the present application, it can be set in a manner corresponding to the demodulation process of the level signal and the valid data packet determination process in the embodiment of the data demodulation method of the above-mentioned hard disk log, and will not be repeated here.

[0241] Step 303: Sending a level signal to a baseboard management controller via a status indication pin.

[0242] In some embodiments of the present application, a baseboard management controller is connected to the status indication pin of a hard disk device, and out-of-band monitoring of the hard disk device is achieved by directly outputting the hard disk log to the baseboard management controller through the status indication pin of the hard disk device. This solves the problem that in traditional hard disk out-of-band monitoring solutions, the hard disk log can only be indirectly forwarded through a hard disk expansion card, and the range of hard disk devices that can be monitored out-of-band by the baseboard management controller is improved; and by modulating the level signal output by the status indication pin, a hard disk log output function is added on the basis of its original status output function, so that the baseboard management controller can obtain hard disk log data after demodulating and processing the modulated level signal, and can utilize the existing status indication pin of the hard disk device to achieve the transmission of the hard disk log without affecting its original function, thereby reducing the difficulty of out-of-band monitoring of the hard disk device.

[0243] Corresponding to the above method embodiments, some embodiments of the present application also provide a data modulation device for a hard disk log. The data modulation device for a hard disk log described below and the data modulation method for a hard disk log described above can be referenced to each other.

[0244] Please refer to Figure 16, which is a block diagram of a data modulation device for a hard disk log provided by some embodiments of the present application. The device is applied to a hard disk device and may include:

[0245] The log acquisition module 40 is used to acquire the hard disk log to be transmitted;

[0246] The signal adjustment module 50 is used to modulate the original state output signal of the status indication pin according to the hard disk log to be transmitted to obtain a corresponding level signal; wherein the original state output signal includes a constant level signal and / or a constant frequency square wave signal;

[0247] The signal transmission module 60 is used to send a level signal to the baseboard management controller via the status indication pin.

[0248] Corresponding to the above method embodiments, some embodiments of the present application further provide an electronic device. The electronic device described below and the data demodulation method and data modulation method of a hard disk log described above can correspond to each other.

[0249] Please refer to Figure 17, which is a schematic diagram of the structure of an electronic device provided in some embodiments of the present application. The electronic device may include:

[0250] Memory D1, for storing computer programs;

[0251] The processor D2 is configured to implement the steps of the hard disk log data demodulation method or the hard disk log data modulation method provided in the above method embodiment when executing a computer program.

[0252] Specifically, please refer to Figure 18, which is a schematic diagram of the specific structure of an electronic device provided by some embodiments of the present application. The electronic device may have relatively large differences due to different configurations or performances, and may include one or more processors (central processing units, CPU) 322 (for example, one or more processors) and memory 332, one or more storage media 330 (for example, one or more mass storage devices) storing application programs 342 or data 344. Among them, the memory 332 and the storage medium 330 can be short-term storage or persistent storage. The program stored in the storage medium 330 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the device. Furthermore, the central processing unit 322 can be configured to communicate with the storage medium 330 to execute a series of instruction operations in the storage medium 330 on the electronic device 310.

[0253] The electronic device 310 may further include one or more power supplies 326, one or more wired or wireless network interfaces 350, one or more input / output interfaces 358, and / or one or more operating systems 341, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0254] The electronic device 310 may specifically be a complex programmable logic device in a baseboard management controller, a baseboard management controller processing component, or a hard disk device.

[0255] The steps in the data demodulation method or data modulation method of a hard disk log described above can be implemented by the structure of an electronic device.

[0256] Corresponding to the above method embodiments, some embodiments of the present application also provide a computer non-volatile readable storage medium. The computer non-volatile readable storage medium described below and the hard disk log data demodulation method and hard disk log data modulation method described above can be referenced to each other.

[0257] A computer non-volatile readable storage medium stores a computer program. When the computer program is executed by a processor, the steps of the hard disk log data demodulation method or the hard disk log data modulation method of the above method embodiment are implemented.

[0258] The computer non-volatile readable storage medium can specifically be various non-volatile readable storage media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0259] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Reference can be made to the descriptions of the common and similar parts between the various embodiments. The devices, electronic devices, and computer-readable non-volatile storage media disclosed in the embodiments correspond to the methods disclosed in the embodiments, so their descriptions are relatively simple. For relevant details, refer to the descriptions of the methods.

[0260] The above is a detailed introduction to a data demodulation method, data modulation method, device, electronic device and computer non-volatile readable storage medium for a hard disk log provided by some embodiments of the present application. Specific examples are used herein to illustrate the principles and implementation methods of some embodiments of the present application. The description of the above embodiments is only used to help understand the methods and core ideas of some embodiments of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of some embodiments of the present application, some improvements and modifications can be made to some embodiments of the present application, and these improvements and modifications also fall within the scope of protection of the present application.

Claims

1. A data demodulation method for a hard disk log, characterized in that: Applicable to baseboard management controllers, including: Receive a level signal transmitted by a status indication pin of a hard disk device; wherein the level signal is a signal modulated by the hard disk device according to a hard disk log and an original status output signal of the status indication pin; the original status output signal includes a constant level signal and / or a constant frequency square wave signal; Identifying demodulated data corresponding to each target rectangular wave signal in the level signal; wherein the width of the target rectangular wave signal is within a preset width range, and the demodulated data includes hard disk log data of the hard disk device; A valid data packet is determined according to the demodulated data; wherein the valid data packet includes a continuous preset number of the demodulated data, and the demodulated data at a preset position within the valid data packet is preset identification data.

2. The data demodulation method of a hard disk log according to claim 1, characterized in that: The identifying demodulated data corresponding to each target rectangular wave signal in the level signal includes: Detecting the rising edge and the falling edge of the level signal; Determining the width of each level signal according to the rising edge and the falling edge; Demodulated data corresponding to each target rectangular wave signal in the level signal is determined according to the width and the preset width range.

3. The data demodulation method of a hard disk log according to claim 2, characterized in that: Determining the width of each level signal according to the rising edge and the falling edge includes: When the rising edge is detected, the rising edge state flag in the rising edge state register is set to the exist state, the width in the width register is updated using the count value of the counter, and the counter is cleared; When the falling edge is detected, setting the falling edge state flag in the falling edge state register to an exist state, updating the width in the width register using the count value, and clearing the counter; When the rising edge or the falling edge is not detected, the rising edge state flag and the falling edge state flag are both set to a non-existent state, and the counter is continuously used to count and update the count value.

4. The data demodulation method of a hard disk log according to claim 3, characterized in that: After the counter is continuously used to count and the count value is updated, the method further includes: Determining whether the count value is greater than a count threshold; If it is greater than the counting threshold, stopping the counting of the counter; If it is not greater than the counting threshold, the step of continuously counting with the counter and updating the counting value is performed.

5. The data demodulation method of a hard disk log according to claim 3, characterized in that: The step of determining, based on the width and the preset width range, demodulated data corresponding to each target rectangular wave signal in the level signal comprises: When the rising edge state flag or the falling edge state flag is in the exist state, determining whether the width in the width register is within the preset width range; If it is within the preset width range, the demodulation data corresponding to the width in the width register is determined according to the preset demodulation relationship information; wherein the preset demodulation relationship information includes the correspondence information between each preset width value within the preset width range and the corresponding preset demodulation data, and the preset demodulation data includes the preset identification data and valid data.

6. The data demodulation method of a hard disk log according to claim 5, characterized in that: Determining a valid data packet according to the demodulated data includes: If the demodulated data corresponding to the width in the width register is the preset identification data, the invalid state flag in the invalid state register is set to the existing state, the valid state flag in the valid state register is set to the non-existent state, the demodulated data is stored in the pulse data register, and the value in the pulse number counter is increased by 1; Using an invalid data register to store the invalid state flag in the invalid state register, and performing a shift operation on the data in the invalid data register; Using a data packet register to store the demodulated data in the pulse data register, and performing a shift operation on the data in the data packet register; Determining whether the value in the pulse quantity counter is the preset quantity; If it is the preset number, determining whether the data in the invalid data register is the preset data; If it is the preset data, the data in the data packet register is determined as a valid data packet.

7. The data demodulation method of a hard disk log according to claim 1, characterized in that: The original state output signal includes the constant level signal, the target rectangular wave signal includes a rectangular wave signal obtained by inserting a modulated level signal into the constant level signal, the modulated level signal is inverted to the constant level signal, the width of the modulated level signal is smaller than the lower boundary of the preset width range, and the width of the target rectangular wave signal is related to the hard disk log.

8. The data demodulation method of a hard disk log according to claim 1, characterized in that: The original state output signal includes a constant high level signal and a constant low level signal; The preset width range includes a first width range corresponding to the constant high-level signal and a second width range corresponding to the constant low-level signal, and the first width range and the second width range do not intersect; The target rectangular wave signal includes a high-level rectangular wave and a low-level rectangular wave corresponding to the hard disk log within the first width range and a high-level rectangular wave and a low-level rectangular wave corresponding to the hard disk log within the second width range.

9. The data demodulation method of a hard disk log according to claim 1, characterized in that: The identifying demodulated data corresponding to each target rectangular wave signal in the level signal includes: identifying the demodulated data and a hard disk device status of the hard disk device according to the level signal; According to the hard disk device status, the hard disk status indicator light is controlled to turn on and off accordingly.

10. The data demodulation method of a hard disk log according to claim 1, characterized in that: Also includes: When the current moment is the preset negotiation time period, a reverse transmission request signal is sent to the status indication pin, and when a permission signal is received from the status indication pin, a hard disk log command is sent to the status indication pin; wherein, the hard disk log command includes a data packet retransmission command.

11. The data demodulation method of a hard disk log according to claim 1, characterized in that: After determining the valid data packet according to the demodulated data, the method further includes: Obtaining a hard disk log of the hard disk device according to the valid data packet; The hard disk log is displayed on a web page interface.

12. The data demodulation method of a hard disk log according to claim 1, characterized in that: The baseboard management controller includes a baseboard management controller processing component and a complex programmable logic device, wherein the complex programmable logic device is connected to a status indication pin of a hard disk device. After determining a valid data packet according to the demodulated data, the method further includes: The complex programmable logic device uses a data packet storage register to send the valid data packets to a baseboard management controller processing component in sequence, so that the baseboard management controller processing component can display the hard disk log corresponding to the valid data packet in a web page interface.

13. The data demodulation method of a hard disk log according to claim 12, characterized in that: The complex programmable logic device uses a data packet storage register to sequentially send the valid data packets to a baseboard management controller processing component, including: When the baseboard management controller processing component reads a valid data packet from the data packet storage register, the complex programmable logic device stores the new valid data packet in a temporary register if a new valid data packet is identified.

14. The data demodulation method of a hard disk log according to claim 13, characterized in that: The complex programmable logic device stores a new valid data packet in a temporary register if a new valid data packet is identified during the process of the baseboard management controller processing component reading the valid data packet from the data packet storage register, including: The complex programmable logic device determines whether a read address in a data read instruction of the baseboard management controller processing component is an address of the data packet storage register; If it is not the address of the data packet storage register, determining whether the new data identifier or the new data temporary storage identifier is in an existing state; If the new data identifier or the new data temporary storage identifier is in the exist state, the new valid data packet identified and / or the valid data packet stored in the temporary storage register is updated to the data packet storage register, and the valid data identifier corresponding to the data packet storage register is set to the exist state; If it is the address of the data packet storage register, when the new data identifier is in the exist state, the new valid data packet is identified and stored in the temporary register, and the new data temporary storage identifier is set to the exist state.

15. The data demodulation method of a hard disk log according to claim 13, characterized in that: After storing the new valid data packet in the temporary register, the method further includes: If it is detected that the baseboard management controller processing component has finished reading the data packet storage register, the valid data packet in the temporary register is updated to the data packet storage register.

16. The data demodulation method of a hard disk log according to claim 15, characterized in that: The complex programmable logic device is connected to the baseboard management controller processing component via an integrated circuit bus. If it is detected that the baseboard management controller processing component has finished reading the data packet storage register, the valid data packet in the temporary register is updated to the data packet storage register, including: When the read address in the data read instruction of the baseboard management controller is the address of the data packet storage register, if the value of the bus read data counter is greater than or equal to the data threshold, the valid data flag corresponding to the data packet storage register is set to a non-existent state.

17. A data demodulation device for a hard disk log, characterized in that: Applicable to baseboard management controllers, including: A receiving module configured to receive a level signal transmitted by a status indication pin of a hard disk device; wherein the level signal is a signal modulated by the hard disk device based on a hard disk log and an original status output signal of the status indication pin; and the original status output signal includes a constant level signal and / or a constant frequency square wave signal; a demodulation module configured to identify demodulated data corresponding to each target rectangular wave signal in the level signal; wherein the width of the target rectangular wave signal is within a preset width range, and the demodulated data includes hard disk log data of the hard disk device; The determination module is configured to determine a valid data packet according to the demodulated data; wherein the valid data packet includes a continuous preset number of the demodulated data, and the demodulated data at a preset position in the valid data packet is preset identification data.

18. A data modulation method for a hard disk log, characterized in that: Applicable to hard disk devices, including: Get the hard disk log to be transferred; According to the hard disk log to be transmitted, the original state output signal of the status indication pin is modulated to obtain a corresponding level signal; wherein the original state output signal includes a constant level signal and / or a constant frequency square wave signal; The level signal is sent to a baseboard management controller via the status indication pin.

19. A data modulation device for a hard disk log, characterized in that: Applicable to hard disk devices, including: A log acquisition module is configured to acquire hard disk logs to be transmitted; A signal adjustment module is configured to modulate the original state output signal of the status indication pin according to the hard disk log to be transmitted to obtain a corresponding level signal; wherein the original state output signal includes a constant level signal and / or a constant frequency square wave signal; The signal transmission module is configured to send the level signal to the baseboard management controller through the status indication pin.

20. An electronic device, characterized in that: include: a memory configured to store a computer program; The processor is configured to execute the computer program, and when the computer program is executed by the processor, the steps of the hard disk log data demodulation method according to any one of claims 1 to 16 or the hard disk log data modulation method according to claim 18 are implemented.

21. A computer non-volatile readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the hard disk log data demodulation method according to any one of claims 1 to 16 or the hard disk log data modulation method according to claim 18 are implemented.

Citation Information

Patent Citations

  • Hard disk log recording, analyzing and monitoring method, system, equipment and medium

    CN116881101A

  • Hard disk log obtaining method and device, hard disk log sending method and device, equipment and medium

    CN117971608A

  • Hard disk monitoring method, device, system and equipment and storage medium

    CN117971610A

  • Data demodulation method, modulation method and device of hard disk log, equipment and medium

    CN117971611A