[go: up one dir, main page]

WO2017019094A1 - Component sensing - Google Patents

Component sensing Download PDF

Info

Publication number
WO2017019094A1
WO2017019094A1 PCT/US2015/042933 US2015042933W WO2017019094A1 WO 2017019094 A1 WO2017019094 A1 WO 2017019094A1 US 2015042933 W US2015042933 W US 2015042933W WO 2017019094 A1 WO2017019094 A1 WO 2017019094A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal quality
computing device
component
data bus
present
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2015/042933
Other languages
French (fr)
Inventor
Mark Vinod KAPOOR
David W. Engler
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Priority to PCT/US2015/042933 priority Critical patent/WO2017019094A1/en
Publication of WO2017019094A1 publication Critical patent/WO2017019094A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling

Definitions

  • FIG. 1 is a block diagram of an example computing device that includes an out-of-band management controller with a consolidated memory;
  • Fig. 2 is an example eye diagram showing electrical characteristics of a data bus
  • Fig. 3 is an example eye diagram showing changed electrical
  • FIG. 4 is a process flow diagram of a method of detect the presence of a component in a computing device.
  • FIG. 5 is a block diagram showing a tangible, non-transitory, computer- readable medium that stores code configured to detect the presence of a component in a computing device.
  • the present disclosure describes techniques for detecting the presence of components of a computing device by measuring the effect of the component on a signal transmitted through a data bus in proximity to the component. More specifically, the presence of a component can be determined by measuring the electrical effects on the data bus due to the component's interaction with the electromagnetic fields generated by the bus signals. In this way, component presence can be determined without the addition of specialized circuitry.
  • component presence can be determined even if the component is not communicatively coupled to the data bus.
  • the component is an electronic component such as an expansion card inserted into an expansion slot that is in the vicinity of the data bus.
  • the component is an electronic component such as an expansion card inserted into an expansion slot that is in the vicinity of the data bus.
  • the component is an electronic component such as an expansion card inserted into an expansion slot that is in the vicinity of the data bus.
  • the component is an electronic component such as an expansion card inserted into an expansion slot that is in the vicinity of the data bus.
  • the component is an electronic component such as an expansion card inserted into an expansion slot that is in the vicinity of the data bus.
  • ElectroMagnetic Interference (EMI) absorber can enable a user to determine component presence remotely and without the need for visual inspection. Automatic detection can also enable features to be enabled or disabled automatically without user intervention.
  • EMI ElectroMagnetic Interference
  • Fig. 1 is a block diagram of an example computing device that includes an out-of-band management controller with a consolidated memory.
  • the computing device is generally referred to by the reference number 102.
  • the functional blocks and devices shown in Fig. 1 can include hardware elements such as circuitry or a combination of both hardware and software elements software elements including processors and computer code stored on a non-transitory, computer-readable medium. Additionally, the functional blocks and devices of the computing device 102 are only one example of functional blocks and devices that may be implemented in examples of the present techniques.
  • the computing device 102 is a general-purpose computing device, for example, a desktop computer, laptop computer, business server, a blade server, and the like.
  • the computing device 102 includes at least one processor 104.
  • the computing device 102 can also have one or more types of tangible, non-transitory, computer-readable media, such as a system memory 106 that is used as a working memory.
  • system memory 106 that is used as a working memory.
  • working memory refers to the memory used by a processor during the execution of programming
  • the system memory 106 can include Random Access Memory (RAM), including volatile memory such as Static Random-Access Memory (SRAM) and Dynamic Random-Access Memory (DRAM), non-volatile memory such as Resistive random-access memory (RRAM), and any other suitable memory types or combination thereof.
  • RAM Random Access Memory
  • volatile memory such as Static Random-Access Memory (SRAM) and Dynamic Random-Access Memory (DRAM)
  • non-volatile memory such as Resistive random-access memory (RRAM), and any other suitable memory types or combination thereof.
  • RRAM Resistive random-access memory
  • the computing device 102 can also include other tangible, non-transitory, computer-readable storage media, such as a storage device 108 for the long-term storage of operating programs and data, including the operating programs and data such as user files.
  • the processor 104 may be coupled to an I/O interface 1 10.
  • the I/O interface 1 10 may be coupled to any suitable type of I/O devices 1 12, including input devices, such as a mouse, touch screen, keyboard, display, and the like.
  • the I/O devices 1 12 may also be output devices such as a display monitors.
  • the computing device 102 can also include a network interface controller (NIC) 1 14, for connecting the computing device 102 to a network 1 16.
  • the network 1 16 may be an enterprise network, which may be configured, for example, as a Storage Area Network (SAN), a Network Attached Storage (NAS), or other network configuration.
  • the network 1 16 may also be a local area network (LAN), a wide-area network (WAN), or the Internet, for example.
  • the processor can also be coupled to a storage controller 1 18, which may be coupled to one or more storage devices 120, such as a storage disk, a solid state drive, an array of storage disks, a network attached storage appliance, among others.
  • the computing device 102 can also include one or more expansion slots 122 that are able to receive expansion cards that add additional capabilities to the computing device.
  • expansion cards may provide additional processing capacity, memory, data storage capacity, I/O interfaces, and the like.
  • Each of the busses 124 may use any suitable communication protocol, including Universal Serial Bus (USB), Peripheral Component Interconnect Express (PCI-E), Serial ATA (SATA), Small Computer System Interface (SCSI), Serial Attached SCSI (SAS), Non-Volatile Memory express (NVMe), and others.
  • the bus between the processor 104 and the memory 106 may be a double data rate (DDR) memory bus.
  • DDR double data rate
  • the bus design of Fig. 1 is one example of a bus design that can be used with the techniques disclosed herein.
  • the data bus 124 may be a single bus that couples all of the components of the computing device 102 according to a specific communication protocol.
  • the computing device 102 can also include a number of different types of data busses 124, which may use different
  • the computing device 102 may also include a management controller 126.
  • the management controller 126 may be an out-of-band management controller, which is also sometimes referred to as a baseboard management controller (BMC) or Integrated Lights-Out (il_0) management controller.
  • BMC baseboard management controller
  • il_0 Integrated Lights-Out
  • the management controller 126 enables the system administrator 128 to remotely monitor and control the computing device 102 through a dedicated, out-of-band management channel.
  • the management controller 126 can be coupled to a system administrator 128 through the network 1 16 or a separate communication channel such as an Ethernet via a Network Communications Service Interface.
  • the management controller 126 can include its own separate processing resources and memory, and can also include a separate back-up power supply.
  • the computing device 102 also includes a firmware interface 130 that performs initialization of the computing device 102 at startup.
  • the firmware interface 130 may test the system hardware components and load an operating system of the computing device 102.
  • the firmware interface 130 may be a Basic Input/Output System (BIOS) or a Unified Extensible Firmware Interface (UEFI).
  • BIOS Basic Input/Output System
  • UEFI Unified Extensible Firmware Interface
  • the firmware interface 130 can perform a Power-On Self-Test (POST) process prior to booting up.
  • POST Power-On Self-Test
  • the firmware interface 130 can measure the signal quality of one or more of the busses 124.
  • the measured signal quality data can be used for dynamic margining of the DDR bus between the memory 106 and the processor 104 and/or other busses.
  • various signal parameters can be adjusted to acquire a suitable signal to noise ratio. Such parameters may include voltage level, frequency, timing, and others.
  • One or more of the measured signal quality parameters can also
  • the firmware interface 130 may also include a presence detection engine 132 configured to detect the presence of a computer component based on the effect that the component has on the bus signals.
  • the presence detection engine 132 is a program that runs during the POST process.
  • the presence detection engine 132 can also be configured to run on the main processor 104 or any other suitable processing component of the computing device 102 such as the storage controller 1 18, the NIC 1 14, or the I/O interface 1 10.
  • the presence detection engine 132 detects the presence of a component by comparing a signal quality parameter measured for one of the busses 124 to a signal quality value corresponding with a known component presence state of the bus.
  • the signal quality parameter may describe some characteristic of an eye diagram measured for the data bus, such as eye width, eye height, jitter, Signal-to-Noise Ratio (SNR), or other signal
  • the signal quality parameter is an output drive configuration parameter used by a transmitter at the driver end of a transmission line.
  • some transmitters implement a configuration process wherein transmitter drive parameters such as output drive strength are adjusted are adjusted to improve the signal integrity at the receiver.
  • This configuration process involves a feedback loop wherein the output drive configuration is adjusted based on receiver signal integrity.
  • the presence detection engine 132 can acquire the signal quality parameter by querying the transmitter drive parameters, which could include, but not limited to output drive strength, data dependent output drive compensation to over-come high frequency losses due to added material, and others.
  • a known bus condition is a known signal quality characteristic or range of characteristics that will be exhibited by a specific data bus under a certain component presence state.
  • the component presence state refers to whether the component is present or not.
  • a data bus may exhibit one signal quality characteristic when a specific component is present, and a different signal quality characteristic when the component is not present. For example, if the component is an
  • ElectroMagentic Interference (EMI) absorber that is to be installed in a certain configuration within the computing device, the EMI absorber may have an effect on the data bus that will be exhibited in the signal quality characteristics measured for the data bus.
  • One or more signal quality characteristics may be measured for the data bus both with and without the EMI shield installed. This provides the known bus conditions under both component presence states.
  • the known signal quality characteristics and corresponding presence states may be referred to collectively as component presence information.
  • the component presence information can be generated, for example, by a manufacturer of the computing device.
  • the component presence information may be stored to any suitable non-volatile memory, such as the storage device 108 or any other suitable non-volatile memory.
  • the component presence information may be stored, for example, to a LookUp Table (LUT) 134.
  • LUT LookUp Table
  • the component presence information includes one or more signal quality parameters which have been measured for both presence states of a component.
  • Component presence information may be recorded for any suitable number of components.
  • Such components could include EMI absorbers, EMI shields, and heatsinks, for example.
  • the component may be an expansion card configured to be inserted in one of the expansion slots 122.
  • the presence detection engine 132 can determine whether the component is present.
  • the detected presence state of the component can be reported to a user of the computing device 102.
  • the presence detection engine 132 may set a flag that indicates that a certain component is or is not installed.
  • the presence detection engine 132 may also send an alert to the user.
  • the firmware interface 130 may enable or disable a capability of the computing device 102 depending on whether a component is present in the computing device 102.
  • the firmware interface 130 may allow a user to disable spread spectrum clocking for the computing device 102 only if an EMI absorber is detected.
  • the firmware interface 130 may limit the clock frequency of a processor 104 below a certain limit if a heatsink is not detected.
  • a system administrator may trigger the execution of the presence detection engine 132 remotely through the management controller 126.
  • the presence detection engine 132 can then report presence detection results back to the system administrator 128, indicating whether one or more components were detected as being present.
  • FIG. 1 the block diagram of Fig. 1 is not intended to indicate that the computing device 102 is to include all of the components shown in Fig. 1 . Rather, the computing device 102 can include fewer or additional
  • the computing device 102 may include additional processors, memory controller devices, network interfaces, etc.
  • Fig. 2 is an example eye diagram showing electrical characteristics of a data bus.
  • An eye diagram also referred to as an eye pattern, is a tool for evaluating the quality of a digital signal.
  • An open eye pattern indicates a low level of signal distortion or no signal distortion. Closure of the eye diagram indicates greater distortion of the waveform due to electromagnetic interference, reflections, impedance changes, or other factors.
  • An eye diagram can be used to analyze signal quality characteristics of the data bus, such as the eye height 202 and the eye width 204. As shown in Fig. 2, both the eye height 202 and the eye width 204 are measured from the boundaries of the eye opening.
  • the example eye diagram 200 may represent the electrical characteristics of a data bus for a certain known presence state of a specific component.
  • eye diagram of Fig 2 may be the eye diagram measured for a data bus when it is known that a specific type of EMI absorber is not present within the computing device.
  • the measured eye height 202 and/or eye width 204 may be stored to a lookup table 134 (Fig. 1 ) or other data store and associated with an indicator that indicates the non-presence of the EMI absorber.
  • Fig. 3 is an example eye diagram showing changed electrical
  • the example eye diagram 300 may represent the electrical characteristics of a data bus when a specific type of EMI absorber is present within the computing device. Accordingly, in this example, the measured eye height 202 and/or eye width 204 may be stored to a lookup table 134 (Fig. 1 ) or other data store and associated with an indicator that indicates the presence of the EMI absorber. Once the component presence information has been recorded, the information can be used in other computing devices with the same or similar configuration, for example, the same model of desktop computer or server blade. Later measurements of the same electrical characteristics can be compared to the stored component presence information to determine whether a component is present in the computing device.
  • Fig. 4 is a process flow diagram of a method of detect the presence of a component in a computing device.
  • the method 400 can be performed by the presence detection engine 132 shown in Fig. 1 .
  • the method 400 can be performed by a management controller, a firmware interface such as a BIOS or UEFI, a main processor such as processor 104 of Fig. 1 , or other processor or Application Specific Integrated Circuit (ASIC).
  • the method 400 may be initiated during a POST initiated after bootup of the computing device.
  • the method 400 can also be triggered by a user or administrator of the computing device.
  • a signal quality parameter for a data bus is obtained.
  • the signal quality parameter describes a signal quality characteristic of the data bus, such as eye height, eye width, jitter, SNR, and others. In some examples, more than on signal quality parameter is obtained.
  • the signal quality characteristics may be obtained by measuring signals transmitted over the bus. The signal quality characteristics can also be obtained by querying the transmitter drive parameters that have been generated during a configuration of the data bus.
  • the signal quality parameter is compared to predetermined component presence information.
  • the component presence information can include two or more signal quality values, each of which is associated with a component presence state that is known to produce the signal quality value.
  • the component presence information can be stored to any suitable non-volatile, such as the LUT 134 of Fig. 1 .
  • the component presence information may include signal quality values and corresponding component presence states for one component or any suitable number of components.
  • the component presence is determined based on the comparison performed at block 404. In other words, a determination is made regarding whether a particular component is present in the computing device based on the comparison. If the signal quality parameter measured at block 402 is closer to the stored signal quality value that corresponds with the component being present, then it can be determined that the component is present. If the signal quality parameter measured at block 402 is closer to the signal quality value that
  • a capability of the computing device may be enabled or disabled based on the results, and/or a message may be sent to the user.
  • Enabling or disabling a capability of the computing device may include enabling or disabling a feature such as spread spectrum clocking, increasing or reducing a clock frequency of a processor or memory device, increasing or reducing a signal strength of a wireless communication transmitter, and others.
  • the message sent to the user or administrator may be a message informing the recipient about the components presence and may warn the recipient about consequences of having or not having the component.
  • the process flow diagram of Fig. 4 is not intended to indicate that the operations of the method 400 are to be executed in any particular order, or that all of the operations of the method 400 are to be included in every case. Additionally, the method 400 can include any suitable number of additional operations.
  • Fig. 5 is a block diagram showing a tangible, non-transitory, computer- readable medium that stores code configured to detect the presence of a component in a computing device.
  • the computer-readable medium is referred to by the reference number 500.
  • the computer-readable medium 500 can include RAM, a hard disk drive, an array of hard disk drives, an optical drive, an array of optical drives, a non-volatile memory, a flash card or flash drive, a digital versatile disk (DVD), or a compact disk (CD), among others.
  • the computer-readable medium 500 may be accessed by a processor 502, such as the management controller 126 or the firmware interface.
  • the computer-readable medium 500 may include code configured to perform the methods described herein.
  • the computer readable medium 500 may include firmware that is executed by the management controller 126 shown in Fig. 1 .
  • a region 504 on the computer-readable medium 500 can include a lookup table or other type of data store that stores component presence information.
  • a region 506 includes a presence detection engine that determines component presence comparing signal quality parameters measured for a data bus to signal quality values corresponding with known component presence states.
  • the software components can be stored in any order or configuration. For example, if the tangible, non-transitory, computer-readable medium is a hard drive, the software components can be stored in non-contiguous, or even overlapping, sectors.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Disclosed is a technique for determining whether a component is present in a computing device. An example method includes obtaining a signal quality parameter describing a signal quality characteristic of a data bus, comparing the signal quality parameter to a signal quality value corresponding with a known component presence state, and determining whether a component is present in the computing device based on the comparison.

Description

COMPONENT SENSING
BACKGROUND
[0001] In computing devices, there are multiple techniques that exist for automatically detecting the presence of components. Some component detection techniques rely on pulldowns or other types of electrical detections that are used to indicate whether a component is present. The additional circuitry used in such techniques adds cost to both the component and the computing device. Additionally, additional electrical traces must generally be added to the devices. Other components may have a capacitive sensing method to enable detection of the component. That method also adds additional cost due to the addition of a specialized capacitive sensing circuit and circuitry to detect the differences in capacitance.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Certain examples are described in the following detailed description and in reference to the drawings, in which:
[0003] Fig. 1 is a block diagram of an example computing device that includes an out-of-band management controller with a consolidated memory;
[0004] Fig. 2 is an example eye diagram showing electrical characteristics of a data bus;
[0005] Fig. 3 is an example eye diagram showing changed electrical
characteristics of a data bus after a component has been added or removed;
[0006] Fig. 4 is a process flow diagram of a method of detect the presence of a component in a computing device; and
[0007] Fig. 5 is a block diagram showing a tangible, non-transitory, computer- readable medium that stores code configured to detect the presence of a component in a computing device. DETAILED DESCRIPTION OF SPECIFIC EXAMPLES
[0008] The present disclosure describes techniques for detecting the presence of components of a computing device by measuring the effect of the component on a signal transmitted through a data bus in proximity to the component. More specifically, the presence of a component can be determined by measuring the electrical effects on the data bus due to the component's interaction with the electromagnetic fields generated by the bus signals. In this way, component presence can be determined without the addition of specialized circuitry.
Furthermore, component presence can be determined even if the component is not communicatively coupled to the data bus. In some examples, the component is an electronic component such as an expansion card inserted into an expansion slot that is in the vicinity of the data bus. In some examples, the component is an
ElectroMagnetic Interference (EMI) absorber, EMI shield, heat sink, electrical device, or other non-electronic device. Automatic detection of components can enable a user to determine component presence remotely and without the need for visual inspection. Automatic detection can also enable features to be enabled or disabled automatically without user intervention.
[0009] Fig. 1 is a block diagram of an example computing device that includes an out-of-band management controller with a consolidated memory. The computing device is generally referred to by the reference number 102. The functional blocks and devices shown in Fig. 1 can include hardware elements such as circuitry or a combination of both hardware and software elements software elements including processors and computer code stored on a non-transitory, computer-readable medium. Additionally, the functional blocks and devices of the computing device 102 are only one example of functional blocks and devices that may be implemented in examples of the present techniques.
[0010] In some examples, the computing device 102 is a general-purpose computing device, for example, a desktop computer, laptop computer, business server, a blade server, and the like. The computing device 102 includes at least one processor 104. The computing device 102 can also have one or more types of tangible, non-transitory, computer-readable media, such as a system memory 106 that is used as a working memory. As used herein, the term working memory refers to the memory used by a processor during the execution of programming
instructions. The system memory 106 can include Random Access Memory (RAM), including volatile memory such as Static Random-Access Memory (SRAM) and Dynamic Random-Access Memory (DRAM), non-volatile memory such as Resistive random-access memory (RRAM), and any other suitable memory types or combination thereof. The computing device 102 can also include other tangible, non-transitory, computer-readable storage media, such as a storage device 108 for the long-term storage of operating programs and data, including the operating programs and data such as user files.
[0011] The processor 104 may be coupled to an I/O interface 1 10. The I/O interface 1 10 may be coupled to any suitable type of I/O devices 1 12, including input devices, such as a mouse, touch screen, keyboard, display, and the like. The I/O devices 1 12 may also be output devices such as a display monitors.
[0012] The computing device 102 can also include a network interface controller (NIC) 1 14, for connecting the computing device 102 to a network 1 16. In some examples, the network 1 16 may be an enterprise network, which may be configured, for example, as a Storage Area Network (SAN), a Network Attached Storage (NAS), or other network configuration. The network 1 16 may also be a local area network (LAN), a wide-area network (WAN), or the Internet, for example. The processor can also be coupled to a storage controller 1 18, which may be coupled to one or more storage devices 120, such as a storage disk, a solid state drive, an array of storage disks, a network attached storage appliance, among others.
[0013] The computing device 102 can also include one or more expansion slots 122 that are able to receive expansion cards that add additional capabilities to the computing device. For example, some expansion cards may provide additional processing capacity, memory, data storage capacity, I/O interfaces, and the like.
[0014] Communications between the components of the computing device 102 can be performed through any number of suitable data busses or signals. Each of the busses 124 may use any suitable communication protocol, including Universal Serial Bus (USB), Peripheral Component Interconnect Express (PCI-E), Serial ATA (SATA), Small Computer System Interface (SCSI), Serial Attached SCSI (SAS), Non-Volatile Memory express (NVMe), and others. The bus between the processor 104 and the memory 106 may be a double data rate (DDR) memory bus. The bus design of Fig. 1 is one example of a bus design that can be used with the techniques disclosed herein. In some examples, the data bus 124 may be a single bus that couples all of the components of the computing device 102 according to a specific communication protocol. Furthermore, the computing device 102 can also include a number of different types of data busses 124, which may use different
communication protocols in accordance with the design considerations of a particular implementation.
[0015] The computing device 102 may also include a management controller 126. The management controller 126 may be an out-of-band management controller, which is also sometimes referred to as a baseboard management controller (BMC) or Integrated Lights-Out (il_0) management controller. The management controller 126 enables the system administrator 128 to remotely monitor and control the computing device 102 through a dedicated, out-of-band management channel. The management controller 126 can be coupled to a system administrator 128 through the network 1 16 or a separate communication channel such as an Ethernet via a Network Communications Service Interface. The management controller 126 can include its own separate processing resources and memory, and can also include a separate back-up power supply.
[0016] The computing device 102 also includes a firmware interface 130 that performs initialization of the computing device 102 at startup. For example, at startup the firmware interface 130 may test the system hardware components and load an operating system of the computing device 102. The firmware interface 130 may be a Basic Input/Output System (BIOS) or a Unified Extensible Firmware Interface (UEFI). The firmware interface 130 can perform a Power-On Self-Test (POST) process prior to booting up. During the POST process the firmware interface 130 can measure the signal quality of one or more of the busses 124. The measured signal quality data can be used for dynamic margining of the DDR bus between the memory 106 and the processor 104 and/or other busses. During dynamic margining, various signal parameters can be adjusted to acquire a suitable signal to noise ratio. Such parameters may include voltage level, frequency, timing, and others. One or more of the measured signal quality parameters can also be stored to a log.
[0017] The firmware interface 130 may also include a presence detection engine 132 configured to detect the presence of a computer component based on the effect that the component has on the bus signals. In some examples, the presence detection engine 132 is a program that runs during the POST process. Furthermore, although shown as being run by the firmware interface, the presence detection engine 132 can also be configured to run on the main processor 104 or any other suitable processing component of the computing device 102 such as the storage controller 1 18, the NIC 1 14, or the I/O interface 1 10. The presence detection engine 132 detects the presence of a component by comparing a signal quality parameter measured for one of the busses 124 to a signal quality value corresponding with a known component presence state of the bus. The signal quality parameter may describe some characteristic of an eye diagram measured for the data bus, such as eye width, eye height, jitter, Signal-to-Noise Ratio (SNR), or other signal
characteristic.
[0018] In some examples, the signal quality parameter is an output drive configuration parameter used by a transmitter at the driver end of a transmission line. To ensure proper transmission of data over a transmission line, some transmitters implement a configuration process wherein transmitter drive parameters such as output drive strength are adjusted are adjusted to improve the signal integrity at the receiver. This configuration process involves a feedback loop wherein the output drive configuration is adjusted based on receiver signal integrity. The presence detection engine 132 can acquire the signal quality parameter by querying the transmitter drive parameters, which could include, but not limited to output drive strength, data dependent output drive compensation to over-come high frequency losses due to added material, and others.
[0019] A known bus condition is a known signal quality characteristic or range of characteristics that will be exhibited by a specific data bus under a certain component presence state. The component presence state refers to whether the component is present or not. A data bus may exhibit one signal quality characteristic when a specific component is present, and a different signal quality characteristic when the component is not present. For example, if the component is an
ElectroMagentic Interference (EMI) absorber that is to be installed in a certain configuration within the computing device, the EMI absorber may have an effect on the data bus that will be exhibited in the signal quality characteristics measured for the data bus. One or more signal quality characteristics may be measured for the data bus both with and without the EMI shield installed. This provides the known bus conditions under both component presence states.
[0020] The known signal quality characteristics and corresponding presence states may be referred to collectively as component presence information. The component presence information can be generated, for example, by a manufacturer of the computing device. The component presence information may be stored to any suitable non-volatile memory, such as the storage device 108 or any other suitable non-volatile memory. The component presence information may be stored, for example, to a LookUp Table (LUT) 134. For each component recorded, the component presence information includes one or more signal quality parameters which have been measured for both presence states of a component. Component presence information may be recorded for any suitable number of components. Such components could include EMI absorbers, EMI shields, and heatsinks, for example. In some examples, the component may be an expansion card configured to be inserted in one of the expansion slots 122.
[0021] By comparing the signal quality parameter acquired by the presence detection engine 132 with the component presence information, the presence detection engine 132 can determine whether the component is present. The detected presence state of the component can be reported to a user of the computing device 102. For example, the presence detection engine 132 may set a flag that indicates that a certain component is or is not installed. The presence detection engine 132 may also send an alert to the user. In some examples, the firmware interface 130 may enable or disable a capability of the computing device 102 depending on whether a component is present in the computing device 102. For example, the firmware interface 130 may allow a user to disable spread spectrum clocking for the computing device 102 only if an EMI absorber is detected. In another examples, the firmware interface 130 may limit the clock frequency of a processor 104 below a certain limit if a heatsink is not detected.
[0022] In some examples, a system administrator may trigger the execution of the presence detection engine 132 remotely through the management controller 126. The presence detection engine 132 can then report presence detection results back to the system administrator 128, indicating whether one or more components were detected as being present.
[0023] It is to be understood that the block diagram of Fig. 1 is not intended to indicate that the computing device 102 is to include all of the components shown in Fig. 1 . Rather, the computing device 102 can include fewer or additional
components not illustrated in Fig. 1 . In one example, the computing device 102 may include additional processors, memory controller devices, network interfaces, etc.
[0024] Fig. 2 is an example eye diagram showing electrical characteristics of a data bus. An eye diagram, also referred to as an eye pattern, is a tool for evaluating the quality of a digital signal. An open eye pattern indicates a low level of signal distortion or no signal distortion. Closure of the eye diagram indicates greater distortion of the waveform due to electromagnetic interference, reflections, impedance changes, or other factors. An eye diagram can be used to analyze signal quality characteristics of the data bus, such as the eye height 202 and the eye width 204. As shown in Fig. 2, both the eye height 202 and the eye width 204 are measured from the boundaries of the eye opening.
[0025] The example eye diagram 200 may represent the electrical characteristics of a data bus for a certain known presence state of a specific component. For example, eye diagram of Fig 2 may be the eye diagram measured for a data bus when it is known that a specific type of EMI absorber is not present within the computing device. Accordingly, in this example, the measured eye height 202 and/or eye width 204 may be stored to a lookup table 134 (Fig. 1 ) or other data store and associated with an indicator that indicates the non-presence of the EMI absorber.
[0026] Fig. 3 is an example eye diagram showing changed electrical
characteristics of a data bus after a component has been added or removed. As seen in Fig. 3, the change in the component presence state has resulted in a reduced eye height compared to the eye diagram of Fig. 2. Continuing with the above example from Fig. 2, the example eye diagram 300 may represent the electrical characteristics of a data bus when a specific type of EMI absorber is present within the computing device. Accordingly, in this example, the measured eye height 202 and/or eye width 204 may be stored to a lookup table 134 (Fig. 1 ) or other data store and associated with an indicator that indicates the presence of the EMI absorber. Once the component presence information has been recorded, the information can be used in other computing devices with the same or similar configuration, for example, the same model of desktop computer or server blade. Later measurements of the same electrical characteristics can be compared to the stored component presence information to determine whether a component is present in the computing device.
[0027] Fig. 4 is a process flow diagram of a method of detect the presence of a component in a computing device. The method 400 can be performed by the presence detection engine 132 shown in Fig. 1 . The method 400 can be performed by a management controller, a firmware interface such as a BIOS or UEFI, a main processor such as processor 104 of Fig. 1 , or other processor or Application Specific Integrated Circuit (ASIC). The method 400 may be initiated during a POST initiated after bootup of the computing device. The method 400 can also be triggered by a user or administrator of the computing device.
[0028] At block 402, a signal quality parameter for a data bus is obtained. The signal quality parameter describes a signal quality characteristic of the data bus, such as eye height, eye width, jitter, SNR, and others. In some examples, more than on signal quality parameter is obtained. The signal quality characteristics may be obtained by measuring signals transmitted over the bus. The signal quality characteristics can also be obtained by querying the transmitter drive parameters that have been generated during a configuration of the data bus.
[0029] At block 404, the signal quality parameter is compared to predetermined component presence information. The component presence information can include two or more signal quality values, each of which is associated with a component presence state that is known to produce the signal quality value. The component presence information can be stored to any suitable non-volatile, such as the LUT 134 of Fig. 1 . The component presence information may include signal quality values and corresponding component presence states for one component or any suitable number of components.
[0030] At block 406, the component presence is determined based on the comparison performed at block 404. In other words, a determination is made regarding whether a particular component is present in the computing device based on the comparison. If the signal quality parameter measured at block 402 is closer to the stored signal quality value that corresponds with the component being present, then it can be determined that the component is present. If the signal quality parameter measured at block 402 is closer to the signal quality value that
corresponds with the component being not present, then it can be determined that the component is not present.
[0031] In response to the determination, a capability of the computing device may be enabled or disabled based on the results, and/or a message may be sent to the user. Enabling or disabling a capability of the computing device may include enabling or disabling a feature such as spread spectrum clocking, increasing or reducing a clock frequency of a processor or memory device, increasing or reducing a signal strength of a wireless communication transmitter, and others. The message sent to the user or administrator may be a message informing the recipient about the components presence and may warn the recipient about consequences of having or not having the component.
[0032] The process flow diagram of Fig. 4 is not intended to indicate that the operations of the method 400 are to be executed in any particular order, or that all of the operations of the method 400 are to be included in every case. Additionally, the method 400 can include any suitable number of additional operations.
[0033] Fig. 5 is a block diagram showing a tangible, non-transitory, computer- readable medium that stores code configured to detect the presence of a component in a computing device. The computer-readable medium is referred to by the reference number 500. The computer-readable medium 500 can include RAM, a hard disk drive, an array of hard disk drives, an optical drive, an array of optical drives, a non-volatile memory, a flash card or flash drive, a digital versatile disk (DVD), or a compact disk (CD), among others. The computer-readable medium 500 may be accessed by a processor 502, such as the management controller 126 or the firmware interface. Furthermore, the computer-readable medium 500 may include code configured to perform the methods described herein. For example, the computer readable medium 500 may include firmware that is executed by the management controller 126 shown in Fig. 1 .
[0034] The various data and programming code discussed herein may be stored on the computer-readable medium 500. A region 504 on the computer-readable medium 500 can include a lookup table or other type of data store that stores component presence information. A region 506 includes a presence detection engine that determines component presence comparing signal quality parameters measured for a data bus to signal quality values corresponding with known component presence states. Although shown as contiguous blocks, the software components can be stored in any order or configuration. For example, if the tangible, non-transitory, computer-readable medium is a hard drive, the software components can be stored in non-contiguous, or even overlapping, sectors.
[0035] The present examples may be susceptible to various modifications and alternative forms and have been shown only for illustrative purposes. Furthermore, it is to be understood that the present techniques are not intended to be limited to the particular examples disclosed herein. Indeed, the scope of the appended claims is deemed to include all alternatives, modifications, and equivalents that are apparent to persons skilled in the art to which the disclosed subject matter pertains.

Claims

CLAIMS What is claimed is:
1 . A computing device, comprising:
a processor;
a memory to store data and instructions to be processed by the processor; a data bus to couple the processor and the memory; and
a presence detection engine to:
obtain a signal quality parameter describing a signal quality characteristic of the data bus;
compare the signal quality parameter to a signal quality value corresponding with a known component presence state; and
determine whether a component is present in the computing device based on the comparison.
2. The computing device of claim 1 , wherein the presence detection engine is to disable a capability of the computing device based on the determination of whether a component is present in the computing device.
3. The computing device of claim 1 , wherein signal quality parameter is obtained by querying the transmitter drive parameters that have been generated during a configuration of the data bus.
4. The computing device of claim 1 , comprising a lookup table that includes signal quality data for a plurality of components.
5. The computing device of claim 1 , wherein the component comprises an Electromagnetic Interference (EMI) absorber or heat sink.
6. The computing device of claim 1 , wherein the presence detection engine enables a capability of the computing device based on the determination of whether the component is present in the computing device.
7. A method, comprising:
obtaining a signal quality parameter describing a signal quality characteristic of a data bus;
comparing the signal quality parameter to at least two signal quality values corresponding with known component presence states; and
determining whether a component is present in a computing device based on the comparing.
8. The method of claim 7, wherein determining whether a component is present in the computing device comprises determining whether an EMI absorber is disposed over the data bus.
9. The method of claim 7, wherein comparing the signal quality characteristic to at least two signal quality values comprises obtaining signal quality data and corresponding presence information from a lookup table.
10. The method of claim 9, wherein the lookup table includes signal quality data and presence information for a plurality of components, including at least one of a heat sink, an Electromagnetic Interference (EMI) absorber, and an expansion card.
1 1. The method of claim 7, wherein the signal quality parameter comprises at least one of an eye width, eye height, jitter, or Signal-to-Noise Ratio (SNR).
12. A tangible, non-transitory, computer-readable medium comprising instructions that direct a processor to:
obtain a signal quality parameter describing a signal quality characteristic of a data bus;
compare the signal quality parameter to at least two signal quality values corresponding with known component presence states; and
determine whether a component is present in a computing device based on the comparison.
13. The computer-readable medium of claim 12, wherein the instructions to direct the processor to determine whether a component is present in the computing device direct the processor to determine whether an Electromagnetic Interference (EMI) absorber is disposed over a data bus.
14. The computer-readable medium of claim 12, comprising a lookup table with signal quality data and presence information for a plurality of components, including at least one of a heat sink, an EMI shield, and an expansion card.
15. The method of claim 12, comprising instructions that direct the processor to enable a capability of the computing device based on the determination of whether the component is present in the computing device.
PCT/US2015/042933 2015-07-30 2015-07-30 Component sensing Ceased WO2017019094A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2015/042933 WO2017019094A1 (en) 2015-07-30 2015-07-30 Component sensing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/042933 WO2017019094A1 (en) 2015-07-30 2015-07-30 Component sensing

Publications (1)

Publication Number Publication Date
WO2017019094A1 true WO2017019094A1 (en) 2017-02-02

Family

ID=57886866

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/042933 Ceased WO2017019094A1 (en) 2015-07-30 2015-07-30 Component sensing

Country Status (1)

Country Link
WO (1) WO2017019094A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120893367A (en) * 2025-10-10 2025-11-04 浪潮计算机科技有限公司 A method, apparatus, device, and medium for verifying the integrity of chip signals.

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01259442A (en) * 1988-04-11 1989-10-17 Canon Inc Electronics
US20070097622A1 (en) * 2005-10-31 2007-05-03 Leech Phillip A Heat sink detection
US20080154536A1 (en) * 2006-10-23 2008-06-26 Mcmillan Henry G Detecting faulty cpu heat sink coupling during system power-up
US20110130989A1 (en) * 2009-11-27 2011-06-02 Hon Hai Precision Industry Co., Ltd. System and method for identifying a peripheral component interconnect express signal
US20130204899A1 (en) * 2000-09-07 2013-08-08 Blue Spike Llc Method and device for monitoring and analyzing signals

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01259442A (en) * 1988-04-11 1989-10-17 Canon Inc Electronics
US20130204899A1 (en) * 2000-09-07 2013-08-08 Blue Spike Llc Method and device for monitoring and analyzing signals
US20070097622A1 (en) * 2005-10-31 2007-05-03 Leech Phillip A Heat sink detection
US20080154536A1 (en) * 2006-10-23 2008-06-26 Mcmillan Henry G Detecting faulty cpu heat sink coupling during system power-up
US20110130989A1 (en) * 2009-11-27 2011-06-02 Hon Hai Precision Industry Co., Ltd. System and method for identifying a peripheral component interconnect express signal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120893367A (en) * 2025-10-10 2025-11-04 浪潮计算机科技有限公司 A method, apparatus, device, and medium for verifying the integrity of chip signals.

Similar Documents

Publication Publication Date Title
US10866006B2 (en) Systems and methods for fan typing and anomaly detection
US20110313582A1 (en) Classifying devices by fingerprinting voltage and current consumption
JP5336985B2 (en) Power loss detection and notification method, system, and program based on dynamic load of single shared power domain
US20110022736A1 (en) Methods and apparatus dynamic management of multiplexed phys in a serial attached scsi domain
US20080301279A1 (en) Specifying Associations among Attributes of Entities in
US10235259B2 (en) Memory overclocking method and computer device
TW201743210A (en) Fan failure detection and reporting
US8560688B2 (en) Monitoring sensors for systems management
US20140344482A1 (en) Electronic device and method for monitoring temperature of hard disk drives
JP2018116679A (en) Bus hang detection
US9251859B2 (en) Drive vibration prevention system
US20200309861A1 (en) Active ac power loss detection
CN104254832A (en) Detection of unexpected server operation through physical attribute monitoring
WO2019101087A1 (en) Slow-disk detection method, and storage array
US10032476B2 (en) Magnetic storage system multi-sensor signal prediction health controller
US8583966B2 (en) Methods and structure for debugging DDR memory of a storage controller
WO2017019094A1 (en) Component sensing
US9634777B2 (en) Systems and methods for measurement of electrical channel loss
US10095293B2 (en) System and method for determining power supply capability
US10984106B2 (en) Using EMI fingerprints to detect malicious cryptomining software
CN105740116B (en) The detection method of hard disk backboard and its serial universal input output signal
US20110130989A1 (en) System and method for identifying a peripheral component interconnect express signal
US12336136B2 (en) Multi-device chassis air filter characterization system
US10257312B2 (en) Performance monitor based on user engagement
US20130227226A1 (en) Electronic device and method for data backup

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15899884

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15899884

Country of ref document: EP

Kind code of ref document: A1