US20150220139A1 - System and Method for Automatic Detection and Switching Between USB Host and Device Rolls on a Type-A Connector - Google Patents

System and Method for Automatic Detection and Switching Between USB Host and Device Rolls on a Type-A Connector Download PDF

Info

Publication number
US20150220139A1
US20150220139A1 US14/171,340 US201414171340A US2015220139A1 US 20150220139 A1 US20150220139 A1 US 20150220139A1 US 201414171340 A US201414171340 A US 201414171340A US 2015220139 A1 US2015220139 A1 US 2015220139A1
Authority
US
United States
Prior art keywords
usb
usb device
service processor
interface
socket
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.)
Granted
Application number
US14/171,340
Other versions
US9817468B2 (en
Inventor
Chandrasekhar Puthillathe
Rajeshkumar I. Patel
Shawn J. Dube
Elie A. Jreij
Pablo A. Arias
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.)
Dell Products LP
Original Assignee
Dell Products 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 Dell Products LP filed Critical Dell Products LP
Assigned to DELL PRODUCTS, LP reassignment DELL PRODUCTS, LP ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PATEL, RAJESHKUMAR I., PUTHILLATHE, CHANDRASEKHAR, ARIAS, PABLO A., DUBE, SHAWN J., JREIJ, ELIE A.
Priority to US14/171,340 priority Critical patent/US9817468B2/en
Assigned to BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT reassignment BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Assignors: COMPELLENT TECHNOLOGIES, INC., DELL PRODUCTS L.P., DELL SOFTWARE INC., FORCE10 NETWORKS, INC., SECUREWORKS, INC.
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A., AS COLLATERAL AGENT SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Assignors: COMPELLENT TECHNOLOGIES, INC., DELL PRODUCTS L.P., DELL SOFTWARE INC., FORCE10 NETWORKS, INC., SECUREWORKS, INC.
Assigned to THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT reassignment THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Assignors: COMPELLENT TECHNOLOGIES, INC., DELL PRODUCTS L.P., DELL SOFTWARE INC., FORCE10 NETWORKS, INC., SECUREWORKS, INC.
Publication of US20150220139A1 publication Critical patent/US20150220139A1/en
Assigned to DELL PRODUCTS L.P., FORCE10 NETWORKS, INC., DELL SOFTWARE INC., COMPELLENT TECHNOLOGIES, INC., CREDANT TECHNOLOGIES, INC., SECUREWORKS, INC. reassignment DELL PRODUCTS L.P. RELEASE OF REEL 032809 FRAME 0887 (ABL) Assignors: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Assigned to SECUREWORKS, INC., FORCE10 NETWORKS, INC., COMPELLENT TECHNOLOGIES, INC., DELL SOFTWARE INC., DELL PRODUCTS L.P., CREDANT TECHNOLOGIES, INC. reassignment SECUREWORKS, INC. RELEASE OF REEL 032810 FRAME 0206 (NOTE) Assignors: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Assigned to FORCE10 NETWORKS, INC., DELL PRODUCTS L.P., DELL SOFTWARE INC., COMPELLENT TECHNOLOGIES, INC., CREDANT TECHNOLOGIES, INC., SECUREWORKS, INC. reassignment FORCE10 NETWORKS, INC. RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL) Assignors: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Assigned to THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT reassignment THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT SECURITY AGREEMENT Assignors: ASAP SOFTWARE EXPRESS, INC., AVENTAIL LLC, CREDANT TECHNOLOGIES, INC., DELL INTERNATIONAL L.L.C., DELL MARKETING L.P., DELL PRODUCTS L.P., DELL SOFTWARE INC., DELL SYSTEMS CORPORATION, DELL USA L.P., EMC CORPORATION, EMC IP Holding Company LLC, FORCE10 NETWORKS, INC., MAGINATICS LLC, MOZY, INC., SCALEIO LLC, SPANNING CLOUD APPS LLC, WYSE TECHNOLOGY L.L.C.
Assigned to CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT reassignment CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: ASAP SOFTWARE EXPRESS, INC., AVENTAIL LLC, CREDANT TECHNOLOGIES, INC., DELL INTERNATIONAL L.L.C., DELL MARKETING L.P., DELL PRODUCTS L.P., DELL SOFTWARE INC., DELL SYSTEMS CORPORATION, DELL USA L.P., EMC CORPORATION, EMC IP Holding Company LLC, FORCE10 NETWORKS, INC., MAGINATICS LLC, MOZY, INC., SCALEIO LLC, SPANNING CLOUD APPS LLC, WYSE TECHNOLOGY L.L.C.
Publication of US9817468B2 publication Critical patent/US9817468B2/en
Application granted granted Critical
Assigned to THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A. reassignment THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A. SECURITY AGREEMENT Assignors: CREDANT TECHNOLOGIES, INC., DELL INTERNATIONAL L.L.C., DELL MARKETING L.P., DELL PRODUCTS L.P., DELL USA L.P., EMC CORPORATION, EMC IP Holding Company LLC, FORCE10 NETWORKS, INC., WYSE TECHNOLOGY L.L.C.
Assigned to THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A. reassignment THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A. SECURITY AGREEMENT Assignors: CREDANT TECHNOLOGIES INC., DELL INTERNATIONAL L.L.C., DELL MARKETING L.P., DELL PRODUCTS L.P., DELL USA L.P., EMC CORPORATION, EMC IP Holding Company LLC, FORCE10 NETWORKS, INC., WYSE TECHNOLOGY L.L.C.
Assigned to DELL MARKETING L.P., FORCE10 NETWORKS, INC., EMC IP Holding Company LLC, DELL PRODUCTS L.P., MOZY, INC., CREDANT TECHNOLOGIES, INC., WYSE TECHNOLOGY L.L.C., DELL SYSTEMS CORPORATION, MAGINATICS LLC, AVENTAIL LLC, DELL USA L.P., DELL INTERNATIONAL, L.L.C., DELL SOFTWARE INC., SCALEIO LLC, EMC CORPORATION, ASAP SOFTWARE EXPRESS, INC. reassignment DELL MARKETING L.P. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Assigned to DELL PRODUCTS L.P., EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC), DELL INTERNATIONAL L.L.C., DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.), EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.), DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.), DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.), SCALEIO LLC, DELL USA L.P. reassignment DELL PRODUCTS L.P. RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Assignors: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Assigned to DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.), DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.), DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.), DELL USA L.P., EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.), EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC), DELL INTERNATIONAL L.L.C., DELL PRODUCTS L.P., SCALEIO LLC reassignment DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.) RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Assignors: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Definitions

  • This disclosure relates generally to information handling systems, and more particularly relates to the automatic detection and switching between USB host and device rolls on a type-A connector.
  • An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes. Because technology and information handling needs and requirements may vary between different applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, reservations, enterprise data storage, or global communications.
  • information handling systems may include a variety of hardware and software resources that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
  • a USB interface is an asymmetrical communication topology where a host, or master, provides a socket to which a peripheral device, or slave, can be connected.
  • An information handling system can include a Universal Serial Bus (USB) interface connected to a service processor.
  • USB Universal Serial Bus
  • FIGS. 1-4 are block diagrams illustrating a server system that automatically detects and switches between USB host and device roles according to an embodiment of the present disclosure
  • FIG. 5 is a block diagram illustrating a server system that automatically detects and switches between USB host and device roles according to another embodiment of the present disclosure
  • FIG. 6 is a flowchart illustrating a method for automatic detection and switching between USB host and device roles according to an embodiment of the present disclosure.
  • FIG. 7 is a block diagram illustrating a generalized information handling system according to an embodiment of the present disclosure.
  • an information handling system can be implemented on one or more information handling system.
  • An information handling system can include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes.
  • an information handling system can be a personal computer, a laptop computer, a smart phone, a tablet device or other consumer electronic device, a network server, a network storage device, a switch, a router, or another network communication device, or any other suitable device and may vary in size, shape, performance, functionality, and price.
  • an information handling system can include processing resources for executing machine-executable code, such as a central processing unit (CPU), a programmable logic array (PLA), an embedded device such as a System-on-a-Chip (SoC), or other control logic hardware.
  • An information handling system can also include one or more computer-readable medium for storing machine-executable code, such as software or data.
  • Additional components of an information handling system can include one or more storage devices that can store machine-executable code, one or more communications ports for communicating with external devices, and various input and output (I/O) devices, such as a keyboard, a mouse, and a video display.
  • I/O input and output
  • An example of an information handling system includes a multi-tenant chassis system where groups of tenants (users) share a common chassis, and each of the tenants has a unique set of resources assigned to them.
  • the resources can include blade servers of the chassis, input/output (I/O) modules, Peripheral Component Interconnect-Express (PCIe) cards, storage controllers, and the like.
  • FIG. 1 illustrates a server system 100 including a USB socket 102 , a service host indicator 104 , a service device indicator 106 , a system host indicator 108 , a system processor 110 , and a service processor 120 .
  • System processor 110 includes a USB host interface 112 .
  • Service processor 120 includes a USB host interface 122 and a USB device interface 124 .
  • USB socket 102 is a Type-A USB socket.
  • Server system 100 represents a managed information handling system that provides a generalized computing capability to a network.
  • system processor 110 includes a processor complex that provides one or more central processing units (CPUs), memory storage such as random access memory (RAM), read-only memory (ROM), long term storage such as disk storage or non-volatile RAM (NVRAM), and input/output (I/O) and network connectivity functions.
  • CPUs central processing units
  • RAM random access memory
  • ROM read-only memory
  • NVRAM non-volatile RAM
  • I/O input/output
  • Server system 100 also provides for out-of-band management of the server system via an Intelligent Platform Management Interface (IPMI).
  • IPMI Intelligent Platform Management Interface
  • service processor 110 represents a separate microcontroller system of server system 100 that manages an interface between system management software and the hardware elements of the server system, and that operates separately from the computing environment provided by system processor 110 .
  • service processor 120 operates in accordance with the IPMI V2.0 Specification, Feb. 14, 2004, and other remote and local management protocols, as needed or desired.
  • service processor 120 can include other elements, such as RAM, ROM, NVRAM, I/O, and network connectivity, and the like, as needed or desired.
  • An example of service processor 120 includes a baseboard management controller (BMC), an Integrated Dell Remote Access Controller (iDRAC), another service processor, or a combination thereof, as needed or desired.
  • BMC baseboard management controller
  • iDRAC Integrated Dell Remote Access Controller
  • USB host interfaces 112 and 122 operate as USB masters for USB socket 102 , such that, when a USB device that is configured as a slave device is plugged in to the USB socket, one of the USB host interfaces initiates data transfer requests with the USB device, and the USB device responds to the requests.
  • USB host interface 122 is the default host interface, such that, when the USB slave device is detected, USB host interface 122 determines if the USB slave device is intended for USB host interface 122 , or for USB host interface 112 .
  • USB host interface 122 retains mastery of the USB slave device and initiates data transfer requests with the USB slave device as directed by service processor 120 .
  • USB host interface 122 operates to switch the mastery of the USB slave device to USB host interface 112 .
  • USB host interface 112 then initiates data transfer requests with the USB slave device as directed by system processor 140 .
  • USB device interface 124 operate as USB slave for USB socket 102 , such that, when a USB device that is configured as a master device is plugged in to the USB socket, USB device interface 124 receives data transfer requests from the USB master device, and the USB device interface responds to the requests.
  • USB device interface 124 is selected based upon a determination that a USB host is connected to USB socket 102 , as described below.
  • server system 100 operates in one of three modes, based upon a detection of the type of device that is connected to the USB socket 102 .
  • a USB slave device In the first mode, a USB slave device is connected to USB host interface 122 .
  • a USB master In the second mode, a USB master is connected to USB device interface 124 .
  • a different USB slave device is connected to USB host interface 112 .
  • Indicators 104 , 106 , and 108 operate to identify which mode that server system 100 is operating in.
  • service host indicator 104 indicates that server system 100 is operating in the first mode
  • service device indicator 106 indicates that the server system is operating in the second mode
  • system host indicator 108 indicates that the server system is operating in the third mode.
  • service host indicator 104 service device indicator 106 , and system host indicator 108 are described from the perspective of server system 100 .
  • service host indicator 104 , service device indicator 106 , and system host indicator 108 can be equally described from the perspective of the device that is plugged in to server system 100 , as needed or desired.
  • FIG. 2 illustrates the first mode where server system 100 is connected to a USB slave device 130 .
  • USB host interface 122 determines that the USB slave device is intended for USB host interface 122 , retains mastery of the USB slave device, and initiates data transfer requests with the USB slave device as directed by service processor 120 .
  • Service host indicator 104 indicates that server system 100 is operating in the first mode.
  • USB host interface 122 determines that USB slave device 130 is intended for USB host interface 122 based upon the data contents of the USB slave device.
  • service processor 120 directs USB host interface 122 to issue transactions to USB slave device 130 in order to determine if a particular directory or directory structure is present, if a particular file type is present, if other data content is present, or a combination thereof.
  • service processor 120 can direct USB host interface 122 to issue transactions to USB slave device 130 , and can determine that the USB slave device includes a configuration file or an update package for the service processor, or if such a file or package is included in a predetermined directory of the USB slave device.
  • USB host interface 122 provides power to USB socket 102 , and detects the presence of USB slave device 130 by detecting a change in the voltage level on the data pins of the USB socket.
  • the particular file type includes an XML file that includes configuration file or an update package for the service processor.
  • FIG. 3 illustrates the second mode where server system 100 is connected to a service system 140 via a USB master-to-master cable 150 .
  • no device is detected by USB host interface 122 because service system 140 is not a USB slave device.
  • service processor 120 switches from providing power to USB socket 102 to receiving power from service system 140 , and the service system is detected by the presence of the voltage at the USB socket.
  • USB device interface 124 receives transaction requests from the service system, and responds to the requests.
  • a system administrator can access the functions of service processor 120 , such as monitoring and control of the hardware of server system 100 .
  • service processor 120 cycles between a device detection mode and a host detection mode.
  • USB host interface 122 provides power to USB socket 102 , and detects the presence of a USB slave device by detecting a change in the voltage level on the data pins of the USB socket, and in the host detection mode, the USB host interface receives power from the USB socket and responds to data transaction requests from a USB host.
  • FIG. 4 illustrates the third mode where server system 100 is connected to a USB device 160 .
  • USB host interface 122 determines that the USB slave device is intended for USB host interface 112 , and switches the mastery of the USB slave device to USB host interface 112 .
  • USB host interface 112 then initiates data transfer requests with USB slave device as directed by system processor 140 .
  • System host indicator 108 indicates that server system 100 is operating in the third mode.
  • USB host interface 122 determines that USB slave device 160 is intended for USB host interface 112 based upon the data contents of the USB slave device.
  • service processor 120 directs USB host interface 122 to issue transactions to USB slave device 160 in order to determine if the particular directory or directory structure is present, if the particular file type is present, if the other data content is present, or a combination thereof.
  • service processor 120 can direct USB host interface 122 to issue transactions to USB slave device 130 , and can determine that the USB slave device does not include a configuration file or an update package for the service processor, or if such a file or package is included in a predetermined directory of the USB slave device.
  • USB host interface 112 provides power to one of the pins of USB socket 102 , and detects the presence of USB slave device 160 by detecting a change in the voltage level on the data pins of the USB socket.
  • the functions of service host indicator 104 , service device indicator 106 , and system host indicator 108 as described above are performed by a single indicator.
  • the connectivity of server system 100 to USB device 140 can be indicated by a first light pattern, such as a constantly lit indicator
  • the connectivity of the server system to service system 160 can be indicated by a second light pattern, such as a slowly blinking indicator
  • the connectivity of the server system to USB device 170 can be indicated by a third light pattern, such as a quickly blinking indicator.
  • the single indicator can be configured as a multi-color indicator, and each of the cases as illustrated in FIGS. 2-4 can be indicated by a different color.
  • FIG. 5 illustrates a server system 500 similar to server system 100 , and including a service processor 510 similar to service processor 120 , a power source 530 , a USB power switch 540 , an indicator panel 550 , a USB socket 560 , and a system processor 570 similar to system processor 110 .
  • Service processor 510 includes a voltage detector 512 , a controller 514 , a multiplexer 516 , and a micro-controller 520 .
  • Micro-controller 520 includes a host/device data interface 522 .
  • System processor 570 includes a host data interface 572 .
  • USB power switch 540 receives 5 Volt (V) auxiliary power from power source 530 , and operates to provide the 5V auxiliary power to the VBUS pin of USB socket 560 based upon a power control signal received from micro-controller 520 .
  • the VBUS pin of USB socket 560 is also connected to voltage detector 512 which provides a VBUS detection indication to micro-controller 520 .
  • Micro-controller 520 provides an indicator control signal to indicator panel 550 , indicating whether no USB device is connected to USB socket 560 (all indicators are off), a USB slave device is connected that is for service processor 510 (a service host indicator is on), a USB host is connected (a service device indicator is on), or a USB slave device is connected that is for system processor 570 (a system host indicator is on).
  • the input pins of USB socket 560 are provided to the input of multiplexer 516 .
  • One of the outputs of multiplexer 516 is provided to host/device data interface 522 , and another output is provided to host data interface 572 .
  • Micro-controller 520 is connected via a control bus to controller 514 to direct the controller to provide a multiplexer control signal to multiplexer 516 , directing the multiplexer to route the USB data pins from USB socket 560 to one of host/device data interface 522 or host data interface 572 .
  • Controller 514 also receives a device detect indication from multiplexer 516 , and provides the device detect indication via the control bus to micro-controller 520 .
  • multiplexer 516 operates to provide bidirectional data transfers.
  • Server system 500 operates in a USB host mode or in a USB device mode.
  • micro-controller 520 provides the power control signal to USB power switch 540 , directing the USB power switch to connect the VBUS pin of USB socket 560 to the 5V auxiliary power.
  • voltage detector 512 detects the presence of the 5V auxiliary power and provides the VBUS detection indication to micro-controller 520 .
  • the VBUS detection indication can be ignored by the micro-controller.
  • Micro-controller 520 also directs controller 514 to provide the multiplexer control signal to multiplexer 516 , directing the multiplexer to route the USB data pins from USB socket 560 to host/device data interface 522 .
  • USB host mode when the voltage level on the data pins of USB socket 560 change, indicating that a USB slave device has been connected to the USB socket, the voltage level change is detected by controller 514 and micro-controller 520 directs host/device data interface 522 to examine the contents of the USB slave device. If the contents of the USB slave device includes a particular directory or directory structure, or a particular file type or other data content is present, then the USB slave device is determined to be for service processor 510 , and host/device data interface 522 initiates data transfer requests with the USB slave device as directed by the service processor. Micro-controller 520 also provides the indicator control signal to indicator panel 550 to turn on the service host indicator.
  • controller 514 detects the resulting change to the voltage levels on the data pins of the USB socket, and server system 500 either continues in the USB host mode until another USB slave device is connected to the USB socket, or enters a USB device mode, as described below.
  • Micro-controller 520 also provides the indicator control signal to indicator panel 550 to turn off the service host indicator
  • the USB slave device If the contents of the USB slave device does not include the particular directory or directory structure, or the particular file type or other data content is not present, then the USB slave device is determined to be for system processor 570 , and micro-controller 520 directs controller 514 to provide the multiplexer control signal to multiplexer 516 , directing the multiplexer to route the USB data pins from USB socket 560 to host data interface 572 , and the host data interface initiates data transfer requests with the USB slave device as directed by system processor 570 . Micro-controller 520 also provides the indicator control signal to turn on the system host indicator.
  • controller 514 detects the resulting change to the voltage levels on the data pins of the USB socket, and server system 500 either continues in the USB host mode until another USB slave device is connected to the USB socket, or enters a USB device mode, as described below.
  • Micro-controller 520 also provides the indicator control signal to indicator panel 550 to turn off the system host indicator.
  • micro-controller 520 provides the power control signal to USB power switch 540 , directing the USB power switch to disconnect the VBUS pin of USB socket 560 from the 5V auxiliary power.
  • voltage detector 512 initially detects the presence of the 5V auxiliary power, but after a suitable discharge period, detects the absence of the 5V auxiliary power unless a USB host is connected to USB socket 560 , thereby providing a persistent 5V power level to the voltage detector.
  • micro-controller 520 operates to wait a predetermined amount of time, based upon the discharge period, and then makes a determination as to whether or not a USB host is connected to USB socket 560 , based upon the VBUS detection indication received from voltage detector 512 .
  • micro-controller 520 In the USB device mode, micro-controller 520 also directs controller 514 to provide the multiplexer control signal to multiplexer 516 , directing the multiplexer to route the USB data pins from USB socket 560 to host/device data interface 522 . In this way, when a USB host is connected to USB socket 560 , service processor 510 operates as a USB slave device and responds to the data transfer requests initiated by the USB host device. Micro-controller 520 also provides the indicator control signal to turn on the service device indicator.
  • USB host When the USB host is disconnected from USB socket 560 , voltage detector 512 detects the resulting change to the voltage level on the VBUS pin of USB socket 560 , and server system 500 either continues in the USB device mode until another USB host is connected to the USB socket, or reenters the USB host mode.
  • Micro-controller 520 also provides the indicator control signal to indicator panel 550 to turn off the service device indicator.
  • service processor 510 operates to periodically cycle back and forth between the USB host mode and the USB device mode whenever no devices are detected as being connected to USB socket 560 .
  • service processor 510 can direct a transition between the USB host mode and the USB device mode once every second, once every two seconds, once every 500 milliseconds (msec), or more or less frequently as needed or desired.
  • the relative durations in the USB host mode and in the USB device mode are not equal, as needed or desired.
  • the duration of the USB host mode can be longer or shorter than the duration of the USB device mode.
  • the transition between the USB host mode and the USB device mode can involve a particular amount of time for the 5V power level on the VBUS pin of USB socket 560 to settle or to fade away.
  • one or more of the detections of the presence of a USB slave device or a USB host can be delayed by an appropriate amount of time to account for the voltage rise or the voltage decay, as needed or desired.
  • the detection of a USB slave device can be delayed by 210 msec after the 5V auxiliary power level is provided to the VBUS pin of USB socket 560
  • the detection of a USB host can be delayed by 250 msec after the 5V auxiliary power level is removed from the VBUS pin.
  • Other delay durations can be utilized as needed or desired.
  • FIG. 6 illustrates a method for the automatic detection and switching between USB host and device rolls starting with block 602 where a service processor is powered on.
  • a service processor is powered on.
  • micro-controller 520 can be powered on.
  • the service processor is set to operate as a USB host in block 604 .
  • micro-controller 520 can set host/device data interface 522 to operate as a USB host.
  • a VBUS pin of a USB socket is provided with power in block 606 .
  • micro-controller 520 can provide the power control signal to USB power switch 540 , directing the USB power switch to connect the VBUS pin of USB socket 560 to the 5V auxiliary power.
  • a multiplexer is set to provide USB data signals to the service processor in block 608 .
  • micro-controller 520 can direct controller 514 to provide the multiplexer control signal to multiplexer 516 , directing the multiplexer to route the USB data pins from USB socket 560 to host/device data interface 522 .
  • a decision is made as to whether or not a USB device is detected as being plugged into the USB socket in decision block 610 . For example, when the voltage level on the data pins of USB socket 560 change, indicating that a USB slave device has been connected to the USB socket, the voltage level change is detected by controller 514 .
  • micro-controller 520 can direct host/device data interface 522 to examine the contents of the USB slave device to determine if the USB slave device includes a particular directory or directory structure, or a particular file type or other data content is present.
  • service processor 510 can access the USB slave device to install a configuration file or an update package for the service processor.
  • controller 514 can detect the resulting change to the voltage levels on the data pins of USB socket 560 when the USB slave device is removed from the USB socket. If the USB slave device has not been removed, the “NO” branch of decision block 622 is taken, and the method loops back to decision block 622 until a device is removed.
  • the “YES” branch of decision block 622 is taken and the method returns to block 608 where the multiplexer is reset to provide USB data signals to the service processor.
  • the “NO” block is taken and the multiplexer is set to provide USB data signals to a system processor in block 618 .
  • micro-controller 520 can direct controller 514 to provide the multiplexer control signal to multiplexer 516 , directing the multiplexer to route the USB data pins from USB socket 560 to host data interface 572 .
  • the system processor uses the USB slave device in block 620 and the method proceeds to decision block 622 where a determination is made as to whether or not the USB slave device has been removed.
  • micro-controller 520 can provide the power control signal to USB power switch 540 , directing the USB power switch to disconnect the VBUS pin of USB socket 560 from the 5V auxiliary power.
  • a determination is made as to whether or not a voltage is detected on the VBUS pin in decision block 626 . If not, the “NO” branch of decision block 626 is taken and the method returns to block 606 where the VBUS pin is provided with power.
  • micro-controller 520 can set host/device data interface 522 to operate as a USB slave device.
  • a determination is made as to whether or not the USB host has been removed in decision block 630 .
  • a USB host can be disconnected from USB socket 560 and voltage detector 512 can detect the resulting change to the voltage level on the VBUS pin of USB socket 560 . If the USB host has not been removed, the “NO” branch of decision block 630 is taken and the method loops back to decision block 630 until the USB host is removed. When the USB host is removed from the USB socket, the “YES” branch of decision block 630 is taken and the method returns to block 604 where the service processor is reset to operate as a USB host.
  • FIG. 7 illustrates a generalized embodiment of information handling system 700 .
  • information handling system 700 can include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes.
  • information handling system 100 can be a personal computer, a laptop computer, a smart phone, a tablet device or other consumer electronic device, a network server, a network storage device, a switch router or other network communication device, or any other suitable device and may vary in size, shape, performance, functionality, and price.
  • information handling system 100 can include processing resources for executing machine-executable code, such as a central processing unit (CPU), a programmable logic array (PLA), an embedded device such as a System-on-a-Chip (SoC), or other control logic hardware.
  • Information handling system 700 can also include one or more computer-readable medium for storing machine-executable code, such as software or data. Additional components of information handling system 700 can include one or more storage devices that can store machine-executable code, one or more communications ports for communicating with external devices, and various input and output (I/O) devices, such as a keyboard, a mouse, and a video display.
  • Information handling system 700 can also include one or more buses operable to transmit information between the various hardware components.
  • Information handling system 700 can include devices or modules that embody one or more of the devices or modules described above, and operates to perform one or more of the methods described above.
  • Information handling system 700 includes processors 702 and 704 , a service processor 706 , a chipset 710 , a memory 720 , a graphics interface 730 , include a basic input and output system/extensible firmware interface (BIOS/EFI) module 740 , a disk controller 750 , a disk emulator 760 , an input/output (I/O) interface 770 , and a network interface 780 .
  • BIOS/EFI basic input and output system/extensible firmware interface
  • Memory 720 is connected to chipset 710 via a memory bus 722 .
  • Graphics interface 730 is connected to chipset 710 via a graphics interface 732 , and provides a video display output 736 to a video display 734 .
  • information handling system 700 includes separate memories that are dedicated to each of processors 702 and 704 via separate memory interfaces.
  • An example of memory 720 includes random access memory (RAM) such as static RAM (SRAM), dynamic RAM (DRAM), non-volatile RAM (NV-RAM), or the like, read only memory (ROM), another type of memory, or a combination thereof.
  • RAM random access memory
  • SRAM static RAM
  • DRAM dynamic RAM
  • NV-RAM non-volatile RAM
  • ROM read only memory
  • BIOS/EFI module 740 , disk controller 750 , and I/O interface 770 are connected to chipset 710 via an I/O channel 712 .
  • I/O channel 712 includes a Peripheral Component Interconnect (PCI) interface, a PCI-Extended (PCI-X) interface, a high-speed PCI-Express (PCIe) interface, another industry standard or proprietary communication interface, or a combination thereof.
  • PCI Peripheral Component Interconnect
  • PCI-X PCI-Extended
  • PCIe high-speed PCI-Express
  • Chipset 710 can also include one or more other I/O interfaces, including an Industry Standard Architecture (ISA) interface, a Small Computer Serial Interface (SCSI) interface, an Inter-Integrated Circuit (I 2 C) interface, a System Packet Interface (SPI), a Universal Serial Bus (USB), another interface, or a combination thereof.
  • BIOS/EFI module 740 includes BIOS/EFI code operable to detect resources within information handling system 700 , to provide drivers for the resources, initialize the resources, and access the resources.
  • BIOS/EFI module 740 includes code that operates to detect resources within information handling system 700 , to provide drivers for the resources, to initialize the resources, and to access the resources.
  • Disk controller 750 includes a disk interface 752 that connects the disc controller to a hard disk drive (HDD) 754 , to an optical disk drive (ODD) 756 , and to disk emulator 760 .
  • disk interface 752 includes an Integrated Drive Electronics (IDE) interface, an Advanced Technology Attachment (ATA) such as a parallel ATA (PATA) interface or a serial ATA (SATA) interface, a SCSI interface, a USB interface, a proprietary interface, or a combination thereof.
  • Disk emulator 760 permits a solid-state drive 764 to be connected to information handling system 700 via an external interface 762 .
  • An example of external interface 762 includes a USB interface, an IEEE 1394 (Firewire) interface, a proprietary interface, or a combination thereof.
  • solid-state drive 764 can be disposed within information handling system 700 .
  • I/O interface 770 includes a peripheral interface 772 that connects the I/O interface to an add-on resource 774 and to network interface 780 .
  • Peripheral interface 772 can be the same type of interface as I/O channel 712 , or can be a different type of interface.
  • I/O interface 770 extends the capacity of I/O channel 712 when peripheral interface 772 and the I/O channel are of the same type, and the I/O interface translates information from a format suitable to the I/O channel to a format suitable to the peripheral channel 772 when they are of a different type.
  • Add-on resource 774 can include a data storage system, an additional graphics interface, a network interface card (NIC), a sound/video processing card, another add-on resource, or a combination thereof.
  • Add-on resource 774 can be on a main circuit board, on separate circuit board or add-in card disposed within information handling system 700 , a device that is external to the information handling system, or a combination thereof.
  • Network interface 780 represents a NIC disposed within information handling system 700 , on a main circuit board of the information handling system, integrated onto another component such as chipset 710 , in another suitable location, or a combination thereof.
  • Network interface device 780 includes network channels 782 and 784 that provide interfaces to devices that are external to information handling system 700 .
  • network channels 782 and 784 are of a different type than peripheral channel 772 and network interface 780 translates information from a format suitable to the peripheral channel to a format suitable to external devices.
  • An example of network channels 782 and 784 includes InfiniBand channels, Fibre Channel channels, Gigabit Ethernet channels, proprietary channel architectures, or a combination thereof.
  • Network channels 782 and 784 can be connected to external network resources (not illustrated).
  • the network resource can include another information handling system, a data storage system, another network, a grid management system, another suitable resource, or a combination thereof.

Abstract

An information handling system includes a system processor including a first Universal Serial Bus (USB) host interface, a service processor including a second USB host interface and a USB device interface, and a USB socket. The service processor couples a first USB device that is plugged into the USB socket to the first USB host interface, couples a second USB device that is plugged into the USB socket to the second USB host interface, and couples a third USB device that is plugged into the USB socket to the USB device interface.

Description

    FIELD OF THE DISCLOSURE
  • This disclosure relates generally to information handling systems, and more particularly relates to the automatic detection and switching between USB host and device rolls on a type-A connector.
  • BACKGROUND
  • As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option is an information handling system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes. Because technology and information handling needs and requirements may vary between different applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software resources that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems. A USB interface is an asymmetrical communication topology where a host, or master, provides a socket to which a peripheral device, or slave, can be connected. An information handling system can include a Universal Serial Bus (USB) interface connected to a service processor.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • It will be appreciated that for simplicity and clarity of illustration, elements illustrated in the Figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements are exaggerated relative to other elements. Embodiments incorporating teachings of the present disclosure are shown and described with respect to the drawings presented herein, in which:
  • FIGS. 1-4 are block diagrams illustrating a server system that automatically detects and switches between USB host and device roles according to an embodiment of the present disclosure;
  • FIG. 5 is a block diagram illustrating a server system that automatically detects and switches between USB host and device roles according to another embodiment of the present disclosure;
  • FIG. 6 is a flowchart illustrating a method for automatic detection and switching between USB host and device roles according to an embodiment of the present disclosure; and
  • FIG. 7 is a block diagram illustrating a generalized information handling system according to an embodiment of the present disclosure.
  • The use of the same reference symbols in different drawings indicates similar or identical items.
  • DETAILED DESCRIPTION OF DRAWINGS
  • The following description in combination with the Figures is provided to assist in understanding the teachings disclosed herein. The following discussion will focus on specific implementations and embodiments of the teachings. This focus is provided to assist in describing the teachings, and should not be interpreted as a limitation on the scope or applicability of the teachings. However, other teachings can certainly be used in this application. The teachings can also be used in other applications, and with several different types of architectures, such as distributed computing architectures, client/server architectures, or middleware server architectures and associated resources.
  • For purpose of this disclosure an information handling system can be implemented on one or more information handling system. An information handling system can include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system can be a personal computer, a laptop computer, a smart phone, a tablet device or other consumer electronic device, a network server, a network storage device, a switch, a router, or another network communication device, or any other suitable device and may vary in size, shape, performance, functionality, and price. Further, an information handling system can include processing resources for executing machine-executable code, such as a central processing unit (CPU), a programmable logic array (PLA), an embedded device such as a System-on-a-Chip (SoC), or other control logic hardware. An information handling system can also include one or more computer-readable medium for storing machine-executable code, such as software or data. Additional components of an information handling system can include one or more storage devices that can store machine-executable code, one or more communications ports for communicating with external devices, and various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. An example of an information handling system includes a multi-tenant chassis system where groups of tenants (users) share a common chassis, and each of the tenants has a unique set of resources assigned to them. The resources can include blade servers of the chassis, input/output (I/O) modules, Peripheral Component Interconnect-Express (PCIe) cards, storage controllers, and the like.
  • FIG. 1 illustrates a server system 100 including a USB socket 102, a service host indicator 104, a service device indicator 106, a system host indicator 108, a system processor 110, and a service processor 120. System processor 110 includes a USB host interface 112. Service processor 120 includes a USB host interface 122 and a USB device interface 124. In a particular embodiment, USB socket 102 is a Type-A USB socket.
  • Server system 100 represents a managed information handling system that provides a generalized computing capability to a network. As such, system processor 110 includes a processor complex that provides one or more central processing units (CPUs), memory storage such as random access memory (RAM), read-only memory (ROM), long term storage such as disk storage or non-volatile RAM (NVRAM), and input/output (I/O) and network connectivity functions. The skilled artisan will recognize that other elements can be included in system processor 110, as needed or desired.
  • Server system 100 also provides for out-of-band management of the server system via an Intelligent Platform Management Interface (IPMI). As such, service processor 110 represents a separate microcontroller system of server system 100 that manages an interface between system management software and the hardware elements of the server system, and that operates separately from the computing environment provided by system processor 110. In a particular embodiment, service processor 120 operates in accordance with the IPMI V2.0 Specification, Feb. 14, 2004, and other remote and local management protocols, as needed or desired. The skilled artisan will recognize that service processor 120 can include other elements, such as RAM, ROM, NVRAM, I/O, and network connectivity, and the like, as needed or desired. An example of service processor 120 includes a baseboard management controller (BMC), an Integrated Dell Remote Access Controller (iDRAC), another service processor, or a combination thereof, as needed or desired.
  • USB host interfaces 112 and 122 operate as USB masters for USB socket 102, such that, when a USB device that is configured as a slave device is plugged in to the USB socket, one of the USB host interfaces initiates data transfer requests with the USB device, and the USB device responds to the requests. In a particular embodiment, USB host interface 122 is the default host interface, such that, when the USB slave device is detected, USB host interface 122 determines if the USB slave device is intended for USB host interface 122, or for USB host interface 112. Here, if the USB slave device is intended for USB host device 122, then USB host interface 122 retains mastery of the USB slave device and initiates data transfer requests with the USB slave device as directed by service processor 120. If the USB slave device is intended for USB host interface 112, then USB host interface 122 operates to switch the mastery of the USB slave device to USB host interface 112. USB host interface 112 then initiates data transfer requests with the USB slave device as directed by system processor 140. USB device interface 124 operate as USB slave for USB socket 102, such that, when a USB device that is configured as a master device is plugged in to the USB socket, USB device interface 124 receives data transfer requests from the USB master device, and the USB device interface responds to the requests. In a particular embodiment, USB device interface 124 is selected based upon a determination that a USB host is connected to USB socket 102, as described below.
  • Thus server system 100 operates in one of three modes, based upon a detection of the type of device that is connected to the USB socket 102. In the first mode, a USB slave device is connected to USB host interface 122. In the second mode, a USB master is connected to USB device interface 124. Finally, in the third mode, a different USB slave device is connected to USB host interface 112. Indicators 104, 106, and 108 operate to identify which mode that server system 100 is operating in. In particular, service host indicator 104 indicates that server system 100 is operating in the first mode, service device indicator 106 indicates that the server system is operating in the second mode, and system host indicator 108 indicates that the server system is operating in the third mode. Note that, as described herein, service host indicator 104, service device indicator 106, and system host indicator 108 are described from the perspective of server system 100. However, service host indicator 104, service device indicator 106, and system host indicator 108 can be equally described from the perspective of the device that is plugged in to server system 100, as needed or desired.
  • FIG. 2 illustrates the first mode where server system 100 is connected to a USB slave device 130. Here, when USB slave device 130 is detected, USB host interface 122 determines that the USB slave device is intended for USB host interface 122, retains mastery of the USB slave device, and initiates data transfer requests with the USB slave device as directed by service processor 120. Service host indicator 104 indicates that server system 100 is operating in the first mode. USB host interface 122 determines that USB slave device 130 is intended for USB host interface 122 based upon the data contents of the USB slave device. In a particular embodiment, service processor 120 directs USB host interface 122 to issue transactions to USB slave device 130 in order to determine if a particular directory or directory structure is present, if a particular file type is present, if other data content is present, or a combination thereof. For example, service processor 120 can direct USB host interface 122 to issue transactions to USB slave device 130, and can determine that the USB slave device includes a configuration file or an update package for the service processor, or if such a file or package is included in a predetermined directory of the USB slave device. The skilled artisan will recognize that USB host interface 122 provides power to USB socket 102, and detects the presence of USB slave device 130 by detecting a change in the voltage level on the data pins of the USB socket. In a particular embodiment, the particular file type includes an XML file that includes configuration file or an update package for the service processor.
  • FIG. 3 illustrates the second mode where server system 100 is connected to a service system 140 via a USB master-to-master cable 150. Here, no device is detected by USB host interface 122 because service system 140 is not a USB slave device. In this case, service processor 120 switches from providing power to USB socket 102 to receiving power from service system 140, and the service system is detected by the presence of the voltage at the USB socket. When service system 140 is detected, USB device interface 124 receives transaction requests from the service system, and responds to the requests. For example, a system administrator can access the functions of service processor 120, such as monitoring and control of the hardware of server system 100.
  • In a particular embodiment, service processor 120 cycles between a device detection mode and a host detection mode. In the device detection mode, USB host interface 122 provides power to USB socket 102, and detects the presence of a USB slave device by detecting a change in the voltage level on the data pins of the USB socket, and in the host detection mode, the USB host interface receives power from the USB socket and responds to data transaction requests from a USB host.
  • FIG. 4 illustrates the third mode where server system 100 is connected to a USB device 160. Here, when USB slave device 160 is detected, USB host interface 122 determines that the USB slave device is intended for USB host interface 112, and switches the mastery of the USB slave device to USB host interface 112. USB host interface 112 then initiates data transfer requests with USB slave device as directed by system processor 140. System host indicator 108 indicates that server system 100 is operating in the third mode. USB host interface 122 determines that USB slave device 160 is intended for USB host interface 112 based upon the data contents of the USB slave device. In a particular embodiment, service processor 120 directs USB host interface 122 to issue transactions to USB slave device 160 in order to determine if the particular directory or directory structure is present, if the particular file type is present, if the other data content is present, or a combination thereof. For example, service processor 120 can direct USB host interface 122 to issue transactions to USB slave device 130, and can determine that the USB slave device does not include a configuration file or an update package for the service processor, or if such a file or package is included in a predetermined directory of the USB slave device. As noted above, the skilled artisan will recognize that USB host interface 112 provides power to one of the pins of USB socket 102, and detects the presence of USB slave device 160 by detecting a change in the voltage level on the data pins of the USB socket.
  • In a particular embodiment, the functions of service host indicator 104, service device indicator 106, and system host indicator 108 as described above are performed by a single indicator. For example, the connectivity of server system 100 to USB device 140, as illustrated in FIG. 1, can be indicated by a first light pattern, such as a constantly lit indicator, the connectivity of the server system to service system 160, as illustrated in FIG. 2, can be indicated by a second light pattern, such as a slowly blinking indicator, and the connectivity of the server system to USB device 170, as illustrated in FIG. 3, can be indicated by a third light pattern, such as a quickly blinking indicator. In another example, the single indicator can be configured as a multi-color indicator, and each of the cases as illustrated in FIGS. 2-4 can be indicated by a different color.
  • FIG. 5 illustrates a server system 500 similar to server system 100, and including a service processor 510 similar to service processor 120, a power source 530, a USB power switch 540, an indicator panel 550, a USB socket 560, and a system processor 570 similar to system processor 110. Service processor 510 includes a voltage detector 512, a controller 514, a multiplexer 516, and a micro-controller 520. Micro-controller 520 includes a host/device data interface 522. System processor 570 includes a host data interface 572.
  • USB power switch 540 receives 5 Volt (V) auxiliary power from power source 530, and operates to provide the 5V auxiliary power to the VBUS pin of USB socket 560 based upon a power control signal received from micro-controller 520. The VBUS pin of USB socket 560 is also connected to voltage detector 512 which provides a VBUS detection indication to micro-controller 520. Micro-controller 520 provides an indicator control signal to indicator panel 550, indicating whether no USB device is connected to USB socket 560 (all indicators are off), a USB slave device is connected that is for service processor 510 (a service host indicator is on), a USB host is connected (a service device indicator is on), or a USB slave device is connected that is for system processor 570 (a system host indicator is on).
  • The input pins of USB socket 560 are provided to the input of multiplexer 516. One of the outputs of multiplexer 516 is provided to host/device data interface 522, and another output is provided to host data interface 572. Micro-controller 520 is connected via a control bus to controller 514 to direct the controller to provide a multiplexer control signal to multiplexer 516, directing the multiplexer to route the USB data pins from USB socket 560 to one of host/device data interface 522 or host data interface 572. Controller 514 also receives a device detect indication from multiplexer 516, and provides the device detect indication via the control bus to micro-controller 520. The skilled artisan will recognize that multiplexer 516 operates to provide bidirectional data transfers.
  • Server system 500 operates in a USB host mode or in a USB device mode. In the, USB host mode, micro-controller 520 provides the power control signal to USB power switch 540, directing the USB power switch to connect the VBUS pin of USB socket 560 to the 5V auxiliary power. Here, voltage detector 512 detects the presence of the 5V auxiliary power and provides the VBUS detection indication to micro-controller 520. However, since micro-controller 520 is in the USB host mode, the VBUS detection indication can be ignored by the micro-controller. Micro-controller 520 also directs controller 514 to provide the multiplexer control signal to multiplexer 516, directing the multiplexer to route the USB data pins from USB socket 560 to host/device data interface 522.
  • In the USB host mode, when the voltage level on the data pins of USB socket 560 change, indicating that a USB slave device has been connected to the USB socket, the voltage level change is detected by controller 514 and micro-controller 520 directs host/device data interface 522 to examine the contents of the USB slave device. If the contents of the USB slave device includes a particular directory or directory structure, or a particular file type or other data content is present, then the USB slave device is determined to be for service processor 510, and host/device data interface 522 initiates data transfer requests with the USB slave device as directed by the service processor. Micro-controller 520 also provides the indicator control signal to indicator panel 550 to turn on the service host indicator. When the USB slave device is disconnected from USB socket 560, controller 514 detects the resulting change to the voltage levels on the data pins of the USB socket, and server system 500 either continues in the USB host mode until another USB slave device is connected to the USB socket, or enters a USB device mode, as described below. Micro-controller 520 also provides the indicator control signal to indicator panel 550 to turn off the service host indicator
  • If the contents of the USB slave device does not include the particular directory or directory structure, or the particular file type or other data content is not present, then the USB slave device is determined to be for system processor 570, and micro-controller 520 directs controller 514 to provide the multiplexer control signal to multiplexer 516, directing the multiplexer to route the USB data pins from USB socket 560 to host data interface 572, and the host data interface initiates data transfer requests with the USB slave device as directed by system processor 570. Micro-controller 520 also provides the indicator control signal to turn on the system host indicator. When the USB slave device is disconnected from USB socket 560, controller 514 detects the resulting change to the voltage levels on the data pins of the USB socket, and server system 500 either continues in the USB host mode until another USB slave device is connected to the USB socket, or enters a USB device mode, as described below. Micro-controller 520 also provides the indicator control signal to indicator panel 550 to turn off the system host indicator.
  • In the USB device mode, micro-controller 520 provides the power control signal to USB power switch 540, directing the USB power switch to disconnect the VBUS pin of USB socket 560 from the 5V auxiliary power. Here, voltage detector 512 initially detects the presence of the 5V auxiliary power, but after a suitable discharge period, detects the absence of the 5V auxiliary power unless a USB host is connected to USB socket 560, thereby providing a persistent 5V power level to the voltage detector. Here further, micro-controller 520 operates to wait a predetermined amount of time, based upon the discharge period, and then makes a determination as to whether or not a USB host is connected to USB socket 560, based upon the VBUS detection indication received from voltage detector 512. In the USB device mode, micro-controller 520 also directs controller 514 to provide the multiplexer control signal to multiplexer 516, directing the multiplexer to route the USB data pins from USB socket 560 to host/device data interface 522. In this way, when a USB host is connected to USB socket 560, service processor 510 operates as a USB slave device and responds to the data transfer requests initiated by the USB host device. Micro-controller 520 also provides the indicator control signal to turn on the service device indicator. When the USB host is disconnected from USB socket 560, voltage detector 512 detects the resulting change to the voltage level on the VBUS pin of USB socket 560, and server system 500 either continues in the USB device mode until another USB host is connected to the USB socket, or reenters the USB host mode. Micro-controller 520 also provides the indicator control signal to indicator panel 550 to turn off the service device indicator.
  • In a particular embodiment, service processor 510 operates to periodically cycle back and forth between the USB host mode and the USB device mode whenever no devices are detected as being connected to USB socket 560. For example, service processor 510 can direct a transition between the USB host mode and the USB device mode once every second, once every two seconds, once every 500 milliseconds (msec), or more or less frequently as needed or desired. In another embodiment, the relative durations in the USB host mode and in the USB device mode are not equal, as needed or desired. For example, the duration of the USB host mode can be longer or shorter than the duration of the USB device mode. In another embodiment, the transition between the USB host mode and the USB device mode can involve a particular amount of time for the 5V power level on the VBUS pin of USB socket 560 to settle or to fade away. In this embodiment, one or more of the detections of the presence of a USB slave device or a USB host can be delayed by an appropriate amount of time to account for the voltage rise or the voltage decay, as needed or desired. For example, the detection of a USB slave device can be delayed by 210 msec after the 5V auxiliary power level is provided to the VBUS pin of USB socket 560, and the detection of a USB host can be delayed by 250 msec after the 5V auxiliary power level is removed from the VBUS pin. Other delay durations can be utilized as needed or desired.
  • FIG. 6 illustrates a method for the automatic detection and switching between USB host and device rolls starting with block 602 where a service processor is powered on. For example, micro-controller 520 can be powered on. The service processor is set to operate as a USB host in block 604. Thus, micro-controller 520 can set host/device data interface 522 to operate as a USB host. A VBUS pin of a USB socket is provided with power in block 606. Here, micro-controller 520 can provide the power control signal to USB power switch 540, directing the USB power switch to connect the VBUS pin of USB socket 560 to the 5V auxiliary power.
  • A multiplexer is set to provide USB data signals to the service processor in block 608. For example, micro-controller 520 can direct controller 514 to provide the multiplexer control signal to multiplexer 516, directing the multiplexer to route the USB data pins from USB socket 560 to host/device data interface 522. A decision is made as to whether or not a USB device is detected as being plugged into the USB socket in decision block 610. For example, when the voltage level on the data pins of USB socket 560 change, indicating that a USB slave device has been connected to the USB socket, the voltage level change is detected by controller 514. If a USB device is detected as being plugged into the USB socket, the “YES” branch of decision block 610 is taken and the USB device is read by the USB host in block 612. Thus, micro-controller 520 can direct host/device data interface 522 to examine the contents of the USB slave device to determine if the USB slave device includes a particular directory or directory structure, or a particular file type or other data content is present.
  • A decision is made as to whether or not the USB slave device is for the service processor in decision block 614. If so, the “YES” branch of decision block 614 is taken and the service processor uses the USB slave device in block 616. For example, service processor 510 can access the USB slave device to install a configuration file or an update package for the service processor. A determination is made as to whether or not the USB slave device has been removed in decision block 622. For example, controller 514 can detect the resulting change to the voltage levels on the data pins of USB socket 560 when the USB slave device is removed from the USB socket. If the USB slave device has not been removed, the “NO” branch of decision block 622 is taken, and the method loops back to decision block 622 until a device is removed. When the USB device is removed from the USB socket, the “YES” branch of decision block 622 is taken and the method returns to block 608 where the multiplexer is reset to provide USB data signals to the service processor.
  • Returning to decision block 614, if the USB slave device is not for the service processor, then the “NO” block is taken and the multiplexer is set to provide USB data signals to a system processor in block 618. For example, micro-controller 520 can direct controller 514 to provide the multiplexer control signal to multiplexer 516, directing the multiplexer to route the USB data pins from USB socket 560 to host data interface 572. The system processor uses the USB slave device in block 620 and the method proceeds to decision block 622 where a determination is made as to whether or not the USB slave device has been removed.
  • Returning to decision block 610, if a USB device is not detected as being plugged into the USB socket, then the “NO” branch is taken and power is removed from the VBUS pin of the USB socket in block 624. For example, micro-controller 520 can provide the power control signal to USB power switch 540, directing the USB power switch to disconnect the VBUS pin of USB socket 560 from the 5V auxiliary power. A determination is made as to whether or not a voltage is detected on the VBUS pin in decision block 626. If not, the “NO” branch of decision block 626 is taken and the method returns to block 606 where the VBUS pin is provided with power. If a voltage is detected on the VBUS pin, the “YES” branch of decision block 626 is taken and the service processor is set to operate as a USB slave device in block 628. Thus, micro-controller 520 can set host/device data interface 522 to operate as a USB slave device. A determination is made as to whether or not the USB host has been removed in decision block 630. For example, a USB host can be disconnected from USB socket 560 and voltage detector 512 can detect the resulting change to the voltage level on the VBUS pin of USB socket 560. If the USB host has not been removed, the “NO” branch of decision block 630 is taken and the method loops back to decision block 630 until the USB host is removed. When the USB host is removed from the USB socket, the “YES” branch of decision block 630 is taken and the method returns to block 604 where the service processor is reset to operate as a USB host.
  • FIG. 7 illustrates a generalized embodiment of information handling system 700. For purpose of this disclosure information handling system 700 can include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, information handling system 100 can be a personal computer, a laptop computer, a smart phone, a tablet device or other consumer electronic device, a network server, a network storage device, a switch router or other network communication device, or any other suitable device and may vary in size, shape, performance, functionality, and price. Further, information handling system 100 can include processing resources for executing machine-executable code, such as a central processing unit (CPU), a programmable logic array (PLA), an embedded device such as a System-on-a-Chip (SoC), or other control logic hardware. Information handling system 700 can also include one or more computer-readable medium for storing machine-executable code, such as software or data. Additional components of information handling system 700 can include one or more storage devices that can store machine-executable code, one or more communications ports for communicating with external devices, and various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. Information handling system 700 can also include one or more buses operable to transmit information between the various hardware components.
  • Information handling system 700 can include devices or modules that embody one or more of the devices or modules described above, and operates to perform one or more of the methods described above. Information handling system 700 includes processors 702 and 704, a service processor 706, a chipset 710, a memory 720, a graphics interface 730, include a basic input and output system/extensible firmware interface (BIOS/EFI) module 740, a disk controller 750, a disk emulator 760, an input/output (I/O) interface 770, and a network interface 780. Processor 702 is connected to chipset 710 via processor interface 706, and processor 704 is connected to the chipset via processor interface 708. Memory 720 is connected to chipset 710 via a memory bus 722. Graphics interface 730 is connected to chipset 710 via a graphics interface 732, and provides a video display output 736 to a video display 734. In a particular embodiment, information handling system 700 includes separate memories that are dedicated to each of processors 702 and 704 via separate memory interfaces. An example of memory 720 includes random access memory (RAM) such as static RAM (SRAM), dynamic RAM (DRAM), non-volatile RAM (NV-RAM), or the like, read only memory (ROM), another type of memory, or a combination thereof.
  • BIOS/EFI module 740, disk controller 750, and I/O interface 770 are connected to chipset 710 via an I/O channel 712. An example of I/O channel 712 includes a Peripheral Component Interconnect (PCI) interface, a PCI-Extended (PCI-X) interface, a high-speed PCI-Express (PCIe) interface, another industry standard or proprietary communication interface, or a combination thereof. Chipset 710 can also include one or more other I/O interfaces, including an Industry Standard Architecture (ISA) interface, a Small Computer Serial Interface (SCSI) interface, an Inter-Integrated Circuit (I2C) interface, a System Packet Interface (SPI), a Universal Serial Bus (USB), another interface, or a combination thereof. BIOS/EFI module 740 includes BIOS/EFI code operable to detect resources within information handling system 700, to provide drivers for the resources, initialize the resources, and access the resources. BIOS/EFI module 740 includes code that operates to detect resources within information handling system 700, to provide drivers for the resources, to initialize the resources, and to access the resources.
  • Disk controller 750 includes a disk interface 752 that connects the disc controller to a hard disk drive (HDD) 754, to an optical disk drive (ODD) 756, and to disk emulator 760. An example of disk interface 752 includes an Integrated Drive Electronics (IDE) interface, an Advanced Technology Attachment (ATA) such as a parallel ATA (PATA) interface or a serial ATA (SATA) interface, a SCSI interface, a USB interface, a proprietary interface, or a combination thereof. Disk emulator 760 permits a solid-state drive 764 to be connected to information handling system 700 via an external interface 762. An example of external interface 762 includes a USB interface, an IEEE 1394 (Firewire) interface, a proprietary interface, or a combination thereof. Alternatively, solid-state drive 764 can be disposed within information handling system 700.
  • I/O interface 770 includes a peripheral interface 772 that connects the I/O interface to an add-on resource 774 and to network interface 780. Peripheral interface 772 can be the same type of interface as I/O channel 712, or can be a different type of interface. As such, I/O interface 770 extends the capacity of I/O channel 712 when peripheral interface 772 and the I/O channel are of the same type, and the I/O interface translates information from a format suitable to the I/O channel to a format suitable to the peripheral channel 772 when they are of a different type. Add-on resource 774 can include a data storage system, an additional graphics interface, a network interface card (NIC), a sound/video processing card, another add-on resource, or a combination thereof. Add-on resource 774 can be on a main circuit board, on separate circuit board or add-in card disposed within information handling system 700, a device that is external to the information handling system, or a combination thereof.
  • Network interface 780 represents a NIC disposed within information handling system 700, on a main circuit board of the information handling system, integrated onto another component such as chipset 710, in another suitable location, or a combination thereof. Network interface device 780 includes network channels 782 and 784 that provide interfaces to devices that are external to information handling system 700. In a particular embodiment, network channels 782 and 784 are of a different type than peripheral channel 772 and network interface 780 translates information from a format suitable to the peripheral channel to a format suitable to external devices. An example of network channels 782 and 784 includes InfiniBand channels, Fibre Channel channels, Gigabit Ethernet channels, proprietary channel architectures, or a combination thereof. Network channels 782 and 784 can be connected to external network resources (not illustrated). The network resource can include another information handling system, a data storage system, another network, a grid management system, another suitable resource, or a combination thereof.
  • Although only a few exemplary embodiments have been described in detail herein, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of the embodiments of the present disclosure. Accordingly, all such modifications are intended to be included within the scope of the embodiments of the present disclosure as defined in the following claims. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents, but also equivalent structures.
  • The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover any and all such modifications, enhancements, and other embodiments that fall within the scope of the present invention. Thus, to the maximum extent allowed by law, the scope of the present invention is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.

Claims (20)

What is claimed is:
1. An information handling system comprising:
a system processor including a first Universal Serial Bus (USB) host interface;
a service processor including a second USB host interface and a USB device interface; and
a USB socket;
the service processor operable to:
couple a first USB device that is plugged into the USB socket to the first USB host interface;
couple a second USB device that is plugged into the USB socket to the second USB host interface; and
couple a third USB device that is plugged into the USB socket to the USB device interface.
2. The information handling system of claim 1, wherein the service processor is further operable to:
detect that the first USB device is a USB slave device;
determine that the first USB device includes content for the service processor; and
couple the first USB device to the first USB host interface in response to determining that the first USB device includes content for the service processor.
3. The information handling system of claim 2, wherein the service processor is further operable to:
detect that the second USB device is a USB slave device;
determine that the second USB device does not include content for the service processor; and
couple the second USB device to the second USB host interface in response to determining that the second USB device does not include content for the service processor.
4. The information handling system of claim 3, wherein the service processor is further operable to:
detect that the third USB device is a USB host; and
couple the third USB device to the USB device interface in response to determining that the third USB device is a USB host.
5. The information handling system of claim 1, further comprising:
a power switch;
wherein the service processor is further operable in a first mode to:
direct the power switch to couple a power pin of the USB socket to a power source;
detect a voltage level change on a data pin of the USB socket; and
determine that one of the first USB device and the second USB device is plugged into the USB socket based upon the detection of the voltage level change on the data pin.
6. The information handling system of claim 5, wherein the service processor is further operable in the first mode to:
initiate a data transfer request to the one of the first USB device and the second USB device;
determine that the one of the first USB device and the second USB device includes information for the service processor; and
determine that the one of the first USB device or the second USB device is the first USB device based upon the determination that that the information is for the service processor.
7. The information handling system of claim 6, wherein the information includes one of a configuration file for the service processor, an update package for the service processor, and a predetermined directory.
8. The information handling system of claim 6, wherein the service processor is further operable in the first mode to:
determine that the one of the first USB device and the second USB device does not include the information for the service processor; and
determine that the one of the first USB device or the second USB device is the second USB device based upon the determination that that the information is not for the service processor.
9. The information handling system of claim 5, wherein the service processor is further operable in a second mode to:
direct the power switch to uncouple the power pin from the power source;
detect a voltage level the power pin; and
determine that the third USB device is plugged into the USB socket based upon the detection of the voltage on the power pin.
10. The information handling system of claim 1, further comprising:
a multiplexer including:
an input coupled to a data pin of the USB socket;
a first output coupled to the first device interface and to the host interface; and
a second output coupled to the second device interface.
wherein the service processor is further operable to:
direct the multiplexer to couple the input to the first output when one of the first USB device and the third USB device is plugged into the USB socket; and
direct the multiplexer to couple the input to the second output when the second USB device is plugged into the USB socket.
11. A method comprising:
plugging a first Universal Serial Bus (USB) device into a USB socket of an information handling system that includes a service processor and a system processor;
coupling the first USB device to a first USB host interface of the service processor;
plugging a second USB device into the USB socket;
coupling the second USB device to a second USB host interface of the system processor;
plugging a third USB device into the USB socket; and
coupling the third USB device to a USB device interface of the service processor.
12. The method of claim 11, further comprising:
detecting that the first USB device is a USB slave device;
determining that the first USB device includes content for the service processor;
coupling the first USB device to the first USB host interface in response to determining that the first USB device includes content for the service processor;
detecting that the second USB device is a USB slave device;
determining that the second USB device does not include content for the service processor;
coupling the second USB device to the second USB host interface in response to determining that the second USB device does not include content for the service processor;
detecting that the third USB device is a USB host; and
coupling the third USB device to the USB device interface in response to determining that the third USB device is a USB host.
13. The method of claim 11, further comprising:
directing a power switch of the information handling system to couple a power pin of the USB socket to a power source;
detecting a voltage level change on a data pin of the USB socket; and
determining that one of the first USB device and the second USB device is plugged into the USB socket based upon the detection of the voltage level change on the data pin.
14. The method of claim 13, further comprising:
initiating a data transfer request to the one of the first USB device and the second USB device;
determining that the one of the first USB device and the second USB device includes information for the service processor;
determining that the one of the first USB device or the second USB device is the first USB device based upon the determination that that the information is for the service processor;
determining that the one of the first USB device and the second USB device does not include the information for the service processor; and
determining that the one of the first USB device or the second USB device is the second USB device based upon the determination that that the information is not for the service processor.
15. The method of claim 14, wherein the information includes one of a configuration file for the service processor, an update package for the service processor, and a predetermined directory.
16. The method of claim 13, further comprising:
directing the power switch to uncouple the power pin from the power source;
detecting a voltage level the power pin; and
determining that the third USB device is plugged into the USB socket based upon the detection of the voltage on the power pin.
17. The method of claim 11, further comprising:
directing a multiplexer to couple an input of the multiplexer to a first output of the multiplexer when one of the first USB device and the third USB device is plugged into the USB socket, wherein:
the input is coupled to a data pin of the USB socket;
the first output is coupled to the first device interface and to the host interface; and
a second output of the multiplexer is coupled to the second device interface; and
directing the multiplexer to couple the input to the second output when the second USB device is plugged into the USB socket.
18. A non-transitory computer-readable medium including code for performing a method, the method comprising:
plugging a first Universal Serial Bus (USB) device into a USB socket of an information handling system that includes a service processor and a system processor;
coupling the first USB device to a first USB host interface of the service processor;
plugging a second USB device into the USB socket;
coupling the second USB device to a second USB host interface of the system processor;
plugging a third USB device into the USB socket; and
coupling the third USB device to a USB device interface of the service processor.
19. The computer-readable medium of claim 18, the method further comprising:
detecting that the first USB device is a USB slave device;
determining that the first USB device includes content for the service processor;
coupling the first USB device to the first USB host interface in response to determining that the first USB device includes content for the service processor;
detecting that the second USB device is a USB slave device;
determining that the second USB device does not include content for the service processor;
coupling the second USB device to the second USB host interface in response to determining that the second USB device does not include content for the service processor;
detecting that the third USB device is a USB host; and
coupling the third USB device to the USB device interface in response to determining that the third USB device is a USB host.
20. The computer-readable medium of claim 18, the method further comprising:
directing a multiplexer to couple an input of the multiplexer to a first output of the multiplexer when one of the first USB device and the third USB device is plugged into the USB socket, wherein:
the input is coupled to a data pin of the USB socket;
the first output is coupled to the first device interface and to the host interface; and
a second output of the multiplexer is coupled to the second device interface; and
directing the multiplexer to couple the input to the second output when the second USB device is plugged into the USB socket.
US14/171,340 2014-02-03 2014-02-03 System and method for automatic detection and switching between USB host and device rolls on a type-A connector Active 2034-12-05 US9817468B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/171,340 US9817468B2 (en) 2014-02-03 2014-02-03 System and method for automatic detection and switching between USB host and device rolls on a type-A connector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/171,340 US9817468B2 (en) 2014-02-03 2014-02-03 System and method for automatic detection and switching between USB host and device rolls on a type-A connector

Publications (2)

Publication Number Publication Date
US20150220139A1 true US20150220139A1 (en) 2015-08-06
US9817468B2 US9817468B2 (en) 2017-11-14

Family

ID=53754795

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/171,340 Active 2034-12-05 US9817468B2 (en) 2014-02-03 2014-02-03 System and method for automatic detection and switching between USB host and device rolls on a type-A connector

Country Status (1)

Country Link
US (1) US9817468B2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347153A1 (en) * 2014-04-29 2015-12-03 International Business Machines Corporation System management controller and method of configuration file backup and recovery
US20160098368A1 (en) * 2014-10-03 2016-04-07 Etron Technology, Inc. Extensible host controller and operation method thereof
US20170109248A1 (en) * 2015-10-20 2017-04-20 Quanta Computer Inc. Sharing bus port by multiple bus hosts
US20190045654A1 (en) * 2017-08-07 2019-02-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Server having a dual-mode serial bus port enabling selective access to a baseboard management controller
US20190391948A1 (en) * 2018-06-25 2019-12-26 Wistron Corporation Electronic system capable of detecting number of hot plug insertion and extraction cycles
DE102018125775A1 (en) * 2018-10-17 2020-04-23 Fujitsu Limited Computer system and operating method for a computer system
US20200212640A1 (en) * 2018-12-26 2020-07-02 Dexin Electronic Ltd. Peripheral device
CN111370889A (en) * 2018-12-26 2020-07-03 东莞宝德电子有限公司 Peripheral device
US11094488B2 (en) * 2015-11-26 2021-08-17 Toshiba Client Solutions CO., LTD. Port connection circuit, port connection control method and electronic device
US11340676B2 (en) * 2018-09-03 2022-05-24 Samsung Electronics Co., Ltd. Method of identifying external electronic device based on power information and electronic device and storage medium for supporting same
US20230251978A1 (en) * 2022-02-09 2023-08-10 Pixart Imaging Inc. Pointing device and method capable of correcting its usb state by monitoring voltage/state of usb communication interface

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10083146B2 (en) * 2016-11-22 2018-09-25 Hewlett Packard Enterprise Development Lp Shared USB ports

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871252B1 (en) * 2000-03-31 2005-03-22 Intel Corporation Method and apparatus for logical detach for a hot-plug-in data bus
US20050204070A1 (en) * 2004-03-09 2005-09-15 Shaver Charles N. Systems and methods for configuring ports
US20060095595A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation Shared simultaneously-connected drives
US20060282567A1 (en) * 2005-05-26 2006-12-14 Microsoft Corporation Status indicators for universal serial bus (USB) ports
US20080222438A1 (en) * 2007-03-07 2008-09-11 Peng-Fei Lin Apparatus For Automatically Detecting And Differentiating Between USB Host And Device
US20090138631A1 (en) * 2007-11-27 2009-05-28 Aten International Co., Ltd. Remote usb access method
US20090228627A1 (en) * 2008-03-04 2009-09-10 Aten International Co., Ltd. Server with remote access functions for accessing remote peripheral devices that use different communication protocols
US20120311207A1 (en) * 2011-05-31 2012-12-06 Architecture Technology Corporation Mediating communciation of a univeral serial bus device
US20130238819A1 (en) * 2012-03-06 2013-09-12 Miroslav Oljaca USB Host Determination of whether a USB Device Provides Power via a USB Coupling
US20150074323A1 (en) * 2013-09-11 2015-03-12 Lenovo (Singapore) Pte. Ltd. Data bus host and controller switch

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040043198A (en) 2001-09-27 2004-05-22 코닌클리즈케 필립스 일렉트로닉스 엔.브이. Bus system and bus interface
DE102005009021A1 (en) 2005-02-28 2006-09-07 Advanced Micro Devices Inc., Sunnyvale Unified USB OTG control unit
US7214089B1 (en) 2006-01-13 2007-05-08 I/O Interconnect Inc. Universal serial bus On-The-Go apparatus
KR20090048925A (en) 2007-11-12 2009-05-15 삼성전자주식회사 Usb device and usb system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871252B1 (en) * 2000-03-31 2005-03-22 Intel Corporation Method and apparatus for logical detach for a hot-plug-in data bus
US20050204070A1 (en) * 2004-03-09 2005-09-15 Shaver Charles N. Systems and methods for configuring ports
US20060095595A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation Shared simultaneously-connected drives
US20060282567A1 (en) * 2005-05-26 2006-12-14 Microsoft Corporation Status indicators for universal serial bus (USB) ports
US20080222438A1 (en) * 2007-03-07 2008-09-11 Peng-Fei Lin Apparatus For Automatically Detecting And Differentiating Between USB Host And Device
US20090138631A1 (en) * 2007-11-27 2009-05-28 Aten International Co., Ltd. Remote usb access method
US20090228627A1 (en) * 2008-03-04 2009-09-10 Aten International Co., Ltd. Server with remote access functions for accessing remote peripheral devices that use different communication protocols
US20120311207A1 (en) * 2011-05-31 2012-12-06 Architecture Technology Corporation Mediating communciation of a univeral serial bus device
US20130238819A1 (en) * 2012-03-06 2013-09-12 Miroslav Oljaca USB Host Determination of whether a USB Device Provides Power via a USB Coupling
US20150074323A1 (en) * 2013-09-11 2015-03-12 Lenovo (Singapore) Pte. Ltd. Data bus host and controller switch

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347153A1 (en) * 2014-04-29 2015-12-03 International Business Machines Corporation System management controller and method of configuration file backup and recovery
US20160054927A1 (en) * 2014-04-29 2016-02-25 International Business Machines Corporation System management controller and method of configuration file backup and recovery
US9983790B2 (en) * 2014-04-29 2018-05-29 International Business Machines Corporation System management controller and method of configuration file backup and recovery
US9983791B2 (en) * 2014-04-29 2018-05-29 International Business Machines Corporation System management controller and method of configuration file backup and recovery
US20160098368A1 (en) * 2014-10-03 2016-04-07 Etron Technology, Inc. Extensible host controller and operation method thereof
US9880958B2 (en) * 2014-10-03 2018-01-30 Eever Technology, Inc. Extensible host controller of a host for optionally controlling the host to act as a target side or a host side and related operation method thereof
US20170109248A1 (en) * 2015-10-20 2017-04-20 Quanta Computer Inc. Sharing bus port by multiple bus hosts
CN106598898A (en) * 2015-10-20 2017-04-26 广达电脑股份有限公司 System and method for sharing bus port
US11094488B2 (en) * 2015-11-26 2021-08-17 Toshiba Client Solutions CO., LTD. Port connection circuit, port connection control method and electronic device
US10582636B2 (en) * 2017-08-07 2020-03-03 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Server having a dual-mode serial bus port enabling selective access to a baseboard management controller
US20190045654A1 (en) * 2017-08-07 2019-02-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Server having a dual-mode serial bus port enabling selective access to a baseboard management controller
US20190391948A1 (en) * 2018-06-25 2019-12-26 Wistron Corporation Electronic system capable of detecting number of hot plug insertion and extraction cycles
US11036665B2 (en) * 2018-06-25 2021-06-15 Wistron Corporation Electronic system capable of detecting number of hot plug insertion and extraction cycles
US11340676B2 (en) * 2018-09-03 2022-05-24 Samsung Electronics Co., Ltd. Method of identifying external electronic device based on power information and electronic device and storage medium for supporting same
DE102018125775A1 (en) * 2018-10-17 2020-04-23 Fujitsu Limited Computer system and operating method for a computer system
US20200212640A1 (en) * 2018-12-26 2020-07-02 Dexin Electronic Ltd. Peripheral device
CN111370889A (en) * 2018-12-26 2020-07-03 东莞宝德电子有限公司 Peripheral device
US11025020B2 (en) * 2018-12-26 2021-06-01 Dexin Electronic Ltd. Peripheral device
US20230251978A1 (en) * 2022-02-09 2023-08-10 Pixart Imaging Inc. Pointing device and method capable of correcting its usb state by monitoring voltage/state of usb communication interface
US11741023B1 (en) * 2022-02-09 2023-08-29 Pixart Imaging Inc. Pointing device and method capable of correcting its USB state by monitoring voltage/state of USB communication interface

Also Published As

Publication number Publication date
US9817468B2 (en) 2017-11-14

Similar Documents

Publication Publication Date Title
US9817468B2 (en) System and method for automatic detection and switching between USB host and device rolls on a type-A connector
US10152443B2 (en) System and method for providing personality switching in a solid state drive device
US9858238B2 (en) Dual mode USB and serial console port
CN107423169B (en) Method and system for testing high speed peripheral device interconnection equipment
US10331593B2 (en) System and method for arbitration and recovery of SPD interfaces in an information handling system
US9471126B2 (en) Power management for PCIE switches and devices in a multi-root input-output virtualization blade chassis
US10372639B2 (en) System and method to avoid SMBus address conflicts via a baseboard management controller
US10372460B2 (en) System and method for baseboard management controller assisted dynamic early host video on systems with a security co-processor
US8583847B2 (en) System and method for dynamically detecting storage drive type
US9880858B2 (en) Systems and methods for reducing BIOS reboots
US10110691B2 (en) Systems and methods for enabling virtual keyboard-video-mouse for external graphics controllers
US9804980B2 (en) System management through direct communication between system management controllers
US10713061B2 (en) Boot disk detection and management in an information handling system manufacturing environment
US9092404B2 (en) System and method to remotely recover from a system halt during system initialization
US20150186317A1 (en) Method and apparatus for detecting the initiator/target orientation of a smart bridge
US8554974B2 (en) Expanding functionality of one or more hard drive bays in a computing system
US20110270814A1 (en) Expanding Functionality Of One Or More Hard Drive Bays In A Computing System
US10439934B2 (en) Systems and methods for addressing multiple physical and virtual functions in network controller-sideband interface
US10996942B1 (en) System and method for graphics processing unit firmware updates
US10324878B1 (en) System and method of multiplexing communications
CN107818061B (en) Data bus and management bus for associated peripheral devices
US10762031B2 (en) System and method for setting equalization for communication between a processor and a device
US11803493B2 (en) Systems and methods for management controller co-processor host to variable subsystem proxy

Legal Events

Date Code Title Description
AS Assignment

Owner name: DELL PRODUCTS, LP, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PUTHILLATHE, CHANDRASEKHAR;PATEL, RAJESHKUMAR I.;DUBE, SHAWN J.;AND OTHERS;SIGNING DATES FROM 20140131 TO 20140203;REEL/FRAME:032123/0069

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, NO

Free format text: SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL);ASSIGNORS:COMPELLENT TECHNOLOGIES, INC.;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;AND OTHERS;REEL/FRAME:032809/0887

Effective date: 20140321

Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT, TEXAS

Free format text: SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES);ASSIGNORS:COMPELLENT TECHNOLOGIES, INC.;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;AND OTHERS;REEL/FRAME:032810/0206

Effective date: 20140321

Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, NORTH CAROLINA

Free format text: SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL);ASSIGNORS:COMPELLENT TECHNOLOGIES, INC.;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;AND OTHERS;REEL/FRAME:032809/0887

Effective date: 20140321

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN);ASSIGNORS:COMPELLENT TECHNOLOGIES, INC.;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;AND OTHERS;REEL/FRAME:032809/0930

Effective date: 20140321

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH

Free format text: SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN);ASSIGNORS:COMPELLENT TECHNOLOGIES, INC.;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;AND OTHERS;REEL/FRAME:032809/0930

Effective date: 20140321

Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS

Free format text: SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES);ASSIGNORS:COMPELLENT TECHNOLOGIES, INC.;DELL PRODUCTS L.P.;DELL SOFTWARE INC.;AND OTHERS;REEL/FRAME:032810/0206

Effective date: 20140321

AS Assignment

Owner name: DELL SOFTWARE INC., CALIFORNIA

Free format text: RELEASE OF REEL 032809 FRAME 0887 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0314

Effective date: 20160907

Owner name: SECUREWORKS, INC., GEORGIA

Free format text: RELEASE OF REEL 032809 FRAME 0887 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0314

Effective date: 20160907

Owner name: CREDANT TECHNOLOGIES, INC., TEXAS

Free format text: RELEASE OF REEL 032809 FRAME 0887 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0314

Effective date: 20160907

Owner name: DELL PRODUCTS L.P., TEXAS

Free format text: RELEASE OF REEL 032809 FRAME 0887 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0314

Effective date: 20160907

Owner name: COMPELLENT TECHNOLOGIES, INC., MINNESOTA

Free format text: RELEASE OF REEL 032809 FRAME 0887 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0314

Effective date: 20160907

Owner name: FORCE10 NETWORKS, INC., CALIFORNIA

Free format text: RELEASE OF REEL 032809 FRAME 0887 (ABL);ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:040017/0314

Effective date: 20160907

AS Assignment

Owner name: CREDANT TECHNOLOGIES, INC., TEXAS

Free format text: RELEASE OF REEL 032810 FRAME 0206 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0204

Effective date: 20160907

Owner name: DELL PRODUCTS L.P., TEXAS

Free format text: RELEASE OF REEL 032810 FRAME 0206 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0204

Effective date: 20160907

Owner name: DELL SOFTWARE INC., CALIFORNIA

Free format text: RELEASE OF REEL 032810 FRAME 0206 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0204

Effective date: 20160907

Owner name: COMPELLENT TECHNOLOGIES, INC., MINNESOTA

Free format text: RELEASE OF REEL 032810 FRAME 0206 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0204

Effective date: 20160907

Owner name: FORCE10 NETWORKS, INC., CALIFORNIA

Free format text: RELEASE OF REEL 032810 FRAME 0206 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0204

Effective date: 20160907

Owner name: SECUREWORKS, INC., GEORGIA

Free format text: RELEASE OF REEL 032810 FRAME 0206 (NOTE);ASSIGNOR:BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT;REEL/FRAME:040027/0204

Effective date: 20160907

Owner name: DELL PRODUCTS L.P., TEXAS

Free format text: RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040045/0255

Effective date: 20160907

Owner name: FORCE10 NETWORKS, INC., CALIFORNIA

Free format text: RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040045/0255

Effective date: 20160907

Owner name: SECUREWORKS, INC., GEORGIA

Free format text: RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040045/0255

Effective date: 20160907

Owner name: CREDANT TECHNOLOGIES, INC., TEXAS

Free format text: RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040045/0255

Effective date: 20160907

Owner name: COMPELLENT TECHNOLOGIES, INC., MINNESOTA

Free format text: RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040045/0255

Effective date: 20160907

Owner name: DELL SOFTWARE INC., CALIFORNIA

Free format text: RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL);ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:040045/0255

Effective date: 20160907

AS Assignment

Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: SECURITY AGREEMENT;ASSIGNORS:ASAP SOFTWARE EXPRESS, INC.;AVENTAIL LLC;CREDANT TECHNOLOGIES, INC.;AND OTHERS;REEL/FRAME:040134/0001

Effective date: 20160907

Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT, TEXAS

Free format text: SECURITY AGREEMENT;ASSIGNORS:ASAP SOFTWARE EXPRESS, INC.;AVENTAIL LLC;CREDANT TECHNOLOGIES, INC.;AND OTHERS;REEL/FRAME:040136/0001

Effective date: 20160907

Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLAT

Free format text: SECURITY AGREEMENT;ASSIGNORS:ASAP SOFTWARE EXPRESS, INC.;AVENTAIL LLC;CREDANT TECHNOLOGIES, INC.;AND OTHERS;REEL/FRAME:040134/0001

Effective date: 20160907

Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., A

Free format text: SECURITY AGREEMENT;ASSIGNORS:ASAP SOFTWARE EXPRESS, INC.;AVENTAIL LLC;CREDANT TECHNOLOGIES, INC.;AND OTHERS;REEL/FRAME:040136/0001

Effective date: 20160907

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., T

Free format text: SECURITY AGREEMENT;ASSIGNORS:CREDANT TECHNOLOGIES, INC.;DELL INTERNATIONAL L.L.C.;DELL MARKETING L.P.;AND OTHERS;REEL/FRAME:049452/0223

Effective date: 20190320

Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., TEXAS

Free format text: SECURITY AGREEMENT;ASSIGNORS:CREDANT TECHNOLOGIES, INC.;DELL INTERNATIONAL L.L.C.;DELL MARKETING L.P.;AND OTHERS;REEL/FRAME:049452/0223

Effective date: 20190320

AS Assignment

Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., TEXAS

Free format text: SECURITY AGREEMENT;ASSIGNORS:CREDANT TECHNOLOGIES INC.;DELL INTERNATIONAL L.L.C.;DELL MARKETING L.P.;AND OTHERS;REEL/FRAME:053546/0001

Effective date: 20200409

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

AS Assignment

Owner name: WYSE TECHNOLOGY L.L.C., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: SCALEIO LLC, MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: MOZY, INC., WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: MAGINATICS LLC, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: FORCE10 NETWORKS, INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: EMC IP HOLDING COMPANY LLC, TEXAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: EMC CORPORATION, MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: DELL SYSTEMS CORPORATION, TEXAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: DELL SOFTWARE INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: DELL PRODUCTS L.P., TEXAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: DELL MARKETING L.P., TEXAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: DELL INTERNATIONAL, L.L.C., TEXAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: DELL USA L.P., TEXAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: CREDANT TECHNOLOGIES, INC., TEXAS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: AVENTAIL LLC, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

Owner name: ASAP SOFTWARE EXPRESS, INC., ILLINOIS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001

Effective date: 20211101

AS Assignment

Owner name: SCALEIO LLC, MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001

Effective date: 20220329

Owner name: EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.), TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001

Effective date: 20220329

Owner name: EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC), MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001

Effective date: 20220329

Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.), TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001

Effective date: 20220329

Owner name: DELL PRODUCTS L.P., TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001

Effective date: 20220329

Owner name: DELL INTERNATIONAL L.L.C., TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001

Effective date: 20220329

Owner name: DELL USA L.P., TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001

Effective date: 20220329

Owner name: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.), TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001

Effective date: 20220329

Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.), TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001

Effective date: 20220329

AS Assignment

Owner name: SCALEIO LLC, MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001

Effective date: 20220329

Owner name: EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.), TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001

Effective date: 20220329

Owner name: EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC), MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001

Effective date: 20220329

Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.), TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001

Effective date: 20220329

Owner name: DELL PRODUCTS L.P., TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001

Effective date: 20220329

Owner name: DELL INTERNATIONAL L.L.C., TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001

Effective date: 20220329

Owner name: DELL USA L.P., TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001

Effective date: 20220329

Owner name: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.), TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001

Effective date: 20220329

Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.), TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001

Effective date: 20220329