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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling 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
Description
- 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.
- 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.
- 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.
- 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 aserver system 100 including aUSB socket 102, aservice host indicator 104, aservice device indicator 106, asystem host indicator 108, asystem processor 110, and aservice processor 120.System processor 110 includes aUSB host interface 112.Service processor 120 includes aUSB host interface 122 and aUSB 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 insystem 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 ofserver 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 bysystem 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 thatservice 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 ofservice 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 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 forUSB host interface 122, or forUSB host interface 112. Here, if the USB slave device is intended forUSB host device 122, thenUSB host interface 122 retains mastery of the USB slave device and initiates data transfer requests with the USB slave device as directed byservice processor 120. If the USB slave device is intended forUSB host interface 112, thenUSB host interface 122 operates to switch the mastery of the USB slave device toUSB host interface 112.USB host interface 112 then initiates data transfer requests with the USB slave device as directed bysystem processor 140.USB device interface 124 operate as USB slave forUSB 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 toUSB 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 theUSB socket 102. In the first mode, a USB slave device is connected toUSB host interface 122. In the second mode, a USB master is connected toUSB device interface 124. Finally, in the third mode, a different USB slave device is connected toUSB host interface 112.Indicators server system 100 is operating in. In particular,service host indicator 104 indicates thatserver system 100 is operating in the first mode,service device indicator 106 indicates that the server system is operating in the second mode, andsystem 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, andsystem host indicator 108 are described from the perspective ofserver system 100. However,service host indicator 104,service device indicator 106, andsystem host indicator 108 can be equally described from the perspective of the device that is plugged in toserver system 100, as needed or desired. -
FIG. 2 illustrates the first mode whereserver system 100 is connected to aUSB slave device 130. Here, whenUSB slave device 130 is detected,USB host interface 122 determines that the USB slave device is intended forUSB host interface 122, retains mastery of the USB slave device, and initiates data transfer requests with the USB slave device as directed byservice processor 120.Service host indicator 104 indicates thatserver system 100 is operating in the first mode.USB host interface 122 determines thatUSB slave device 130 is intended forUSB host interface 122 based upon the data contents of the USB slave device. In a particular embodiment,service processor 120 directsUSB host interface 122 to issue transactions toUSB 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 directUSB host interface 122 to issue transactions toUSB 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 thatUSB host interface 122 provides power toUSB socket 102, and detects the presence ofUSB 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 whereserver system 100 is connected to aservice system 140 via a USB master-to-master cable 150. Here, no device is detected byUSB host interface 122 becauseservice system 140 is not a USB slave device. In this case,service processor 120 switches from providing power toUSB socket 102 to receiving power fromservice system 140, and the service system is detected by the presence of the voltage at the USB socket. Whenservice 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 ofservice processor 120, such as monitoring and control of the hardware ofserver 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 toUSB 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 whereserver system 100 is connected to aUSB device 160. Here, whenUSB slave device 160 is detected,USB host interface 122 determines that the USB slave device is intended forUSB host interface 112, and switches the mastery of the USB slave device toUSB host interface 112.USB host interface 112 then initiates data transfer requests with USB slave device as directed bysystem processor 140.System host indicator 108 indicates thatserver system 100 is operating in the third mode.USB host interface 122 determines thatUSB slave device 160 is intended forUSB host interface 112 based upon the data contents of the USB slave device. In a particular embodiment,service processor 120 directsUSB host interface 122 to issue transactions toUSB 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 directUSB host interface 122 to issue transactions toUSB 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 thatUSB host interface 112 provides power to one of the pins ofUSB socket 102, and detects the presence ofUSB 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, andsystem host indicator 108 as described above are performed by a single indicator. For example, the connectivity ofserver system 100 toUSB device 140, as illustrated inFIG. 1 , can be indicated by a first light pattern, such as a constantly lit indicator, the connectivity of the server system toservice system 160, as illustrated inFIG. 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 inFIG. 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 inFIGS. 2-4 can be indicated by a different color. -
FIG. 5 illustrates aserver system 500 similar toserver system 100, and including aservice processor 510 similar toservice processor 120, apower source 530, aUSB power switch 540, anindicator panel 550, aUSB socket 560, and asystem processor 570 similar tosystem processor 110.Service processor 510 includes avoltage detector 512, acontroller 514, amultiplexer 516, and amicro-controller 520.Micro-controller 520 includes a host/device data interface 522.System processor 570 includes ahost data interface 572. -
USB power switch 540 receives 5 Volt (V) auxiliary power frompower source 530, and operates to provide the 5V auxiliary power to the VBUS pin ofUSB socket 560 based upon a power control signal received frommicro-controller 520. The VBUS pin ofUSB socket 560 is also connected tovoltage detector 512 which provides a VBUS detection indication tomicro-controller 520.Micro-controller 520 provides an indicator control signal toindicator 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 ofmultiplexer 516. One of the outputs ofmultiplexer 516 is provided to host/device data interface 522, and another output is provided to hostdata interface 572.Micro-controller 520 is connected via a control bus tocontroller 514 to direct the controller to provide a multiplexer control signal tomultiplexer 516, directing the multiplexer to route the USB data pins fromUSB socket 560 to one of host/device data interface 522 orhost data interface 572.Controller 514 also receives a device detect indication frommultiplexer 516, and provides the device detect indication via the control bus tomicro-controller 520. The skilled artisan will recognize thatmultiplexer 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 toUSB power switch 540, directing the USB power switch to connect the VBUS pin ofUSB 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 tomicro-controller 520. However, sincemicro-controller 520 is in the USB host mode, the VBUS detection indication can be ignored by the micro-controller.Micro-controller 520 also directscontroller 514 to provide the multiplexer control signal tomultiplexer 516, directing the multiplexer to route the USB data pins fromUSB 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 bycontroller 514 andmicro-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 forservice 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 toindicator panel 550 to turn on the service host indicator. When the USB slave device is disconnected fromUSB socket 560,controller 514 detects the resulting change to the voltage levels on the data pins of the USB socket, andserver 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 toindicator 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, andmicro-controller 520 directscontroller 514 to provide the multiplexer control signal tomultiplexer 516, directing the multiplexer to route the USB data pins fromUSB socket 560 to hostdata interface 572, and the host data interface initiates data transfer requests with the USB slave device as directed bysystem 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 fromUSB socket 560,controller 514 detects the resulting change to the voltage levels on the data pins of the USB socket, andserver 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 toindicator panel 550 to turn off the system host indicator. - In the USB device mode,
micro-controller 520 provides the power control signal toUSB power switch 540, directing the USB power switch to disconnect the VBUS pin ofUSB 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 toUSB 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 toUSB socket 560, based upon the VBUS detection indication received fromvoltage detector 512. In the USB device mode,micro-controller 520 also directscontroller 514 to provide the multiplexer control signal tomultiplexer 516, directing the multiplexer to route the USB data pins fromUSB socket 560 to host/device data interface 522. In this way, when a USB host is connected toUSB 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 fromUSB socket 560,voltage detector 512 detects the resulting change to the voltage level on the VBUS pin ofUSB socket 560, andserver 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 toindicator 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 toUSB 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 ofUSB 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 ofUSB 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 withblock 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 inblock 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 inblock 606. Here,micro-controller 520 can provide the power control signal toUSB power switch 540, directing the USB power switch to connect the VBUS pin ofUSB 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 directcontroller 514 to provide the multiplexer control signal tomultiplexer 516, directing the multiplexer to route the USB data pins fromUSB 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 indecision block 610. For example, when the voltage level on the data pins ofUSB socket 560 change, indicating that a USB slave device has been connected to the USB socket, the voltage level change is detected bycontroller 514. If a USB device is detected as being plugged into the USB socket, the “YES” branch ofdecision block 610 is taken and the USB device is read by the USB host inblock 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 ofdecision block 614 is taken and the service processor uses the USB slave device inblock 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 indecision block 622. For example,controller 514 can detect the resulting change to the voltage levels on the data pins ofUSB 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 ofdecision 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 ofdecision 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 directcontroller 514 to provide the multiplexer control signal tomultiplexer 516, directing the multiplexer to route the USB data pins fromUSB socket 560 to hostdata interface 572. The system processor uses the USB slave device inblock 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 toUSB power switch 540, directing the USB power switch to disconnect the VBUS pin ofUSB socket 560 from the 5V auxiliary power. A determination is made as to whether or not a voltage is detected on the VBUS pin indecision block 626. If not, the “NO” branch ofdecision 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 ofdecision block 626 is taken and the service processor is set to operate as a USB slave device inblock 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 indecision block 630. For example, a USB host can be disconnected fromUSB socket 560 andvoltage detector 512 can detect the resulting change to the voltage level on the VBUS pin ofUSB socket 560. If the USB host has not been removed, the “NO” branch ofdecision 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 ofdecision 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 ofinformation handling system 700. For purpose of this disclosureinformation 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 ofinformation 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 includesprocessors service processor 706, achipset 710, amemory 720, agraphics interface 730, include a basic input and output system/extensible firmware interface (BIOS/EFI)module 740, adisk controller 750, adisk emulator 760, an input/output (I/O)interface 770, and anetwork interface 780.Processor 702 is connected tochipset 710 viaprocessor interface 706, andprocessor 704 is connected to the chipset viaprocessor interface 708.Memory 720 is connected tochipset 710 via amemory bus 722. Graphics interface 730 is connected tochipset 710 via agraphics interface 732, and provides avideo display output 736 to avideo display 734. In a particular embodiment,information handling system 700 includes separate memories that are dedicated to each ofprocessors 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 tochipset 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 withininformation 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 withininformation handling system 700, to provide drivers for the resources, to initialize the resources, and to access the resources. -
Disk controller 750 includes adisk interface 752 that connects the disc controller to a hard disk drive (HDD) 754, to an optical disk drive (ODD) 756, and todisk emulator 760. An example ofdisk 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 toinformation handling system 700 via anexternal interface 762. An example ofexternal 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 withininformation handling system 700. - I/
O interface 770 includes aperipheral interface 772 that connects the I/O interface to an add-onresource 774 and to networkinterface 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 whenperipheral 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 theperipheral channel 772 when they are of a different type. Add-onresource 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-onresource 774 can be on a main circuit board, on separate circuit board or add-in card disposed withininformation handling system 700, a device that is external to the information handling system, or a combination thereof. -
Network interface 780 represents a NIC disposed withininformation handling system 700, on a main circuit board of the information handling system, integrated onto another component such aschipset 710, in another suitable location, or a combination thereof.Network interface device 780 includesnetwork channels information handling system 700. In a particular embodiment,network channels peripheral channel 772 andnetwork interface 780 translates information from a format suitable to the peripheral channel to a format suitable to external devices. An example ofnetwork channels Network channels - 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)
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)
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)
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)
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)
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 |
-
2014
- 2014-02-03 US US14/171,340 patent/US9817468B2/en active Active
Patent Citations (10)
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)
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 |