EP4623363A1 - Systems and methods for entering and exiting low power mode for aggregator-disaggregator - Google Patents
Systems and methods for entering and exiting low power mode for aggregator-disaggregatorInfo
- Publication number
- EP4623363A1 EP4623363A1 EP23895519.9A EP23895519A EP4623363A1 EP 4623363 A1 EP4623363 A1 EP 4623363A1 EP 23895519 A EP23895519 A EP 23895519A EP 4623363 A1 EP4623363 A1 EP 4623363A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- circuitry
- ports
- low power
- vpio
- power mode
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the program performs an input/output emulation function
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/325—Power saving in peripheral device
- G06F1/3253—Power saving in bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/325—Power saving in peripheral device
- G06F1/3278—Power saving in modem or I/O interface
Definitions
- Electronic devices can include multiple printed circuit boards to house various integrated circuits, connectors, and other components.
- an interposer is typically used to connect one board to another board.
- the interposer uses a combination of vias and pins that interface with each other when the boards are connected.
- the quantity of interposer pins and vias can be substantial (e.g., hundreds or more pins and vias), and as a result, can occupy substantial real estate on the printed circuit boards.
- many electronic devices may execute communications according to many different protocol connections.
- Each of these protocols requires dedicated interposer connections, potentially resulting in too many wires, protocols, mechanical connectors, signal integrity problems (e.g., electrostatic discharge, electromagnetic interference, cross-talk, radio-frequency interference, etc.), physical links (PHYs), and/or power consumption.
- signal integrity problems e.g., electrostatic discharge, electromagnetic interference, cross-talk, radio-frequency interference, etc.
- PHYs physical links
- FIG. 1 shows two legacy circuit boards designed for a board-to-board connection via a conventional interposer connection.
- FIGS. 2A-2C show different illustrative circuit boards configured for a board-to-board connection using VPIO circuitry according to embodiments discussed herein.
- FIG. 3A shows two illustrative circuits board configured for a board-to-board connection using interposer pins/vias, connectors, and VPIO circuitry according to embodiments discussed herein.
- FIG. 3B shows an alternative to circuitry shown in FIG. 3A according to embodiments discussed herein.
- FIG. 4 shows a system or device including printed circuit boards that have components and circuitry that communicate with each other, in accordance with some embodiments.
- FIG. 5 shows another system or device including printed circuit boards that have components and circuitry that communicate with each other, in accordance with some embodiments.
- FIG. 7A shows an illustrative circuit schematic of port activity detection circuitry according to an embodiment.
- FIG. 7B shows an illustrative timing diagram showing operation of port activity detection circuitry of FIG. 7A according to an embodiment.
- FIG. 8A shows alternative port activity detection circuitry according to an embodiment.
- FIG. 10 shows illustrative port activity detection circuitry according to an embodiment.
- FIG. 14A shows an illustrative process according to an embodiment.
- Embodiments discussed herein refer to systems, methods, and circuits for a virtual pipe input/output (VPIO or virtual pipe VO) IC, circuitry, circuit, function block, system, or module that includes one or more virtual pipe engine (VPE) circuits that facilitate data transfer for multiple communication ports (also referred to as “ports”) between two or more printed circuit boards, while adhering to stringent maximum power consumption requirements.
- VPE virtual pipe engine
- the VPIO circuitry can function as an extremely low power aggregator-disaggregator that has a high level of configurability for ease of deployment and layout routing in printed circuit boards.
- the high level of configurability is realized by electronically remapping any of the signals or protocols on the input ports to any of the output ports. That is, the input ports may have specific locations and trace routings that are optimized for the circuit board to which they are affixed, yet the output ports may have completely different locations and trace routings that best suit the circuit board to which the output ports are affixed.
- the remapping enables both the aggregator side (e.g., input ports) and the disaggregator side (e.g., output ports) to maintain their optimal positioning and trace routing because any signals or protocols can be remapped port-per-port or group of ports- per-group of ports. This maximizes configurability and flexibility in terms of relative positions of ports or group of ports in the disaggregator versus the aggregator.
- the VPIO circuitry can engage in a repetitive cyclic behavior for communicating data from one board to another by (1) staying in a sleep mode as much as possible, (2) detecting exit from sleep mode, (3) rapidly transitioning to an active mode, (4) receiving input signals on input ports, (5) intelligently aggregating the received input signals, (6) transmitting the aggregated input signals over a high-speed serial link, (7) receiving the aggregated data signals via the high speed serial link, (8) disaggregating the received aggregated data signals, (9) creating a copy of the input signals, (10) outputting the copied input signals to output ports, and (11) rapidly transitioning to the sleep mode.
- sleep mode refers to a low power mode in which the VPIO circuit is inactive and consumes minimal power.
- instantaneous power consumption refers to a quantity of energy being consumed at any given moment in time.
- the instantaneous consumed power can fluctuate from low to high.
- Power consumption can be relatively high during full activity or almost zero during sleep mode or a low power mode.
- VPIO circuitry allows a system to aggregate both low-speed and high-speed industry standard and proprietary protocols, for simultaneous transmission using the configurable or universal communications protocol over one or more links.
- the configurable or universal communication protocol may be firmware programmable that defines a sequence of ports or groups of ports from which data to be transmitted should be input and to which the received data should be output.
- FIG. 2A shows two illustrative circuit boards configured for a board-to-board connection using interposer pins/vias and VPIO circuitry according to embodiments discussed herein.
- the same components and circuitry included in FIG. 1 are included in FIG. 2A for comparison.
- Inclusion of VPIO circuitry 211 on board 210 and VPIO circuitry 231 on board 230 eliminates many of the interposer pins/vias required on boards 10, 30 of FIG. 1.
- use of VPIO circuitry 211, 231 enables rearrangement of components 13, 14, 33, 34 and circuitry 15, 35, and an overall reduction in real estate required for boards 210, 230 as compared to boards 10, 30.
- FIG. 2B is similar to the board-to-board connection of FIG. 2A with a difference in that circuitry 212 and VPIO circuitry 232 use one or more interposer pins/vias 12 and 32, respectively, to communicate with each other. This contrasts with FIG. 2A in which VPIO circuitry 211 directly interfaces with VPIO circuitry 231.
- VPIO circuitry 321, 322, 323, 341, 342, 343 enables rearrangement of components 13, 14, circuitry 15-21, components 33, 34, and circuitry 35-41, and an overall reduction in real estate required for boards 310, 330 as compared to boards 10, 30 (and boards 210, 230).
- VPIO circuitry 321 may interface directly with VPIO circuitry 341 when board 310 is connected to board 330.
- VIPO circuitry 322 may be connected to connector 325, and VPIO circuitry 342 may be connected to connector 345.
- VPIO circuitry 322 and VPIO circuitry 342 can communicate with each other via connectors 325, 345, which can be wired or wireless connectors.
- VPIO circuitry 323 may use one or more pins/vias 12 to communicate through an interposer (not shown) that is connected to one or more pins/vias 32 to interface with VPIO circuitry 343.
- Interposer pins/vias 12 of board 310 can interface with the interposer pins/vias 32 of board 330.
- the overall area of boards 310, 330, taken individually, is area, A3, where A3 is less than A2.
- any combination of direct VPIO circuit to circuit, VPIO to connector, and VPIO to pins/vias can be implemented.
- FIG. 3B shows an illustrative circuit board configuration similar to FIG.
- VPIO circuitry 322, 324, 342, 344 are connected to respective connectors 325, 326, 345, 346.
- Connectors 325, 326, 345, 346 can be wired or wireless connectors.
- FIG. 3B and FIG. 3A Another difference between FIG. 3B and FIG. 3A is that VPIO circuitry 321, 341 have been eliminated.
- a benefit of incorporating VPIO circuitry is that the VPIO circuity frees up board space that would otherwise be occupied by interposer pins/vias or connectors.
- the VPIO circuitry is designed and operative to satisfy latency and power requirements of a system that has traditionally used interposer pins/vias to carry board-to-board communications.
- the VPE enables the VPIO to emulate the functionality of interposer pins/vias or connectors by mapping any protocol pin (e.g., a GPIO, I2C, SPI, or UART) received by a first VPIO circuit (e.g., located on a first circuit board) to a corresponding protocol pin on a second VPIO circuit (e.g., located on a second circuit board).
- a protocol pin e.g., a GPIO, I2C, SPI, or UART
- the VPE may use a pin mapping scheme and an interface mapping scheme to preset pin-to- pin/protocol-to-protocol correlations for the system in which the VPIO circuitry is being used. Moreover, the VPE may also use a low power exit and entry scheme to rapidly power up the VPIO circuitry, perform the necessary data transaction(s), and rapidly power down the VPIO circuitry.
- FIG. 4 shows a system or device 400 including printed circuit boards 402, 404 that have components and circuitry that communicate with each other, in accordance with some embodiments.
- Printed circuit board 402 may include master components 406, a virtual pipe I/O 408, and a wired coupler 410.
- Printed circuit board 404 may include slave components 412, a virtual pipe 1/0 414, and a wired coupler 416.
- Wired couplers 410, 416 can be, for example, a wired connection, a connector, or an interposer that connects pins and vias among boards 402, 404.
- couplers 410, 416 can enable direct connection between VPIO circuitry 408 and VPIO circuitry 414.
- coupler 410 and coupler 416 can be wireless couplers capable of extremely high frequency (e.g., 60gHz) contactless communication.
- Master components 406 can be coupled to the virtual pipe VO 408, and the virtual pipe I/O 408 is coupled to the wired coupler 410.
- the virtual pipe I/O 408 is an integrated circuit that is separate from master components 406 and wired coupler 410.
- Master components 406 can include one or more processors 418 (e.g., primary processor such as a system on a chip (SOC)), peripheral circuitry (not shown), and multiple data link layers (LINKs), such as LINK 420a and LINK 420b.
- the processor(s) 418 and LINKs 420a, 420b are connected via circuit board 402.
- Virtual pipe VO 408 is connected with LINKs 420a, 420b on circuit board 402.
- Each LINK 420a, 420b implements a port of the master component 406 for communication with a slave component located on board 404.
- the LINK 420a provides a port 462, and the LINK 420b provides another port 464.
- the ports may include ports for intra-system communications (e.g.., board 402 to board 404 communications) or external communications where master components 406 communicates with a different system or device.
- Processor(s) 418 may be coupled to each of the LINKs 420a, 420b to communicate via the ports 462, 464. Different ports may use different protocols, including high-speed protocols and low-speed protocols.
- one or more LINKs 420a, 420b may be integrated with the processor(s) 418 (e.g., as a driver).
- Virtual pipe I/O 408 is a circuit that provides for data transfer between master components 406 and the virtual pipe I/O 414 of the printed circuit board 404.
- the virtual pipe I/O 408 may operate in a transmitter mode, a receiver mode, or a transceiver mode.
- the virtual pipe I/O 408 provides for aggregation of data from the ports 462, 464 of the master components 406 for transmission via the wired coupler 410.
- the virtual pipe I/O 408 parses data from the wired coupler 410 for transmission to the master components 406 via the ports 462, 464.
- the virtual pipe I/O 408 operates as a transmitter and a receiver simultaneously. For example, one or more ports may be dedicated to transmitting while one or more other ports may be dedicated to receiving.
- Virtual pipe I/O 408 includes link abstraction layers, such as link abstraction layer 424a and link abstraction layer 424b, a virtual pipe engine (VPE) 426, and a transceiver (Tx/Rx) 428.
- the virtual pipe I/O 408 is coupled to the LINKS 420a, 420b of the master components 406 via the link abstraction layers 424a, 424b of the virtual pipe I/O 408.
- Each LINK 420a, 420b of the master components 406 is coupled to a corresponding link abstraction layer 424a, 424b of the virtual pipe I/O 408 to connect a port to the VPE 426.
- Each link abstraction layer 424a, 424b may be adapted to communicate with the master components 406 via a transmission medium, such as a cable, suitable for the protocol of the ports 462, 464.
- Each PHY may be a physical layer (e.g., layer 1) of the Open System Interconnection (OSI) model.
- OSI Open System Interconnection
- the VPE 426 is a circuit that controls the operation of the virtual pipe I/O 408.
- the VPE 426 is connected to multiple ports 462, 464 of the master components 406 via the link abstraction layers 424a, 424b.
- the VPE 426 receives input data from each of the ports 462, 464 and aggregates the input data to generate output data 466.
- VPE 426 generates the output data 466 based on selecting the input data from the ports 462, 464 according to a sequence of the ports as defined in a mapping scheme.
- the aggregated output data 466 is provided to transceiver 428 for transmission by wired coupler 410 via a wired connection.
- VPE 426 receives input data 468 from the transceiver 428, and parses or disaggregates the input data 468 according to the sequence of the ports defined in the mapping scheme to generate output data for each of ports 462, 464.
- the input data 468 is transmitted via respective ports to the master components 406 via link abstraction layers 424a, 424b and LINKs 420a, 420b.
- the input data 466 and output data 468 are shown as being transmitted via separate connections in FIG. 4 to illustrate bi-directional data transfer, but in some embodiments the input data 466 and output data 468 may be transmitted using the same connection.
- the plurality of input data 462 and output data 464 are shown as being transmitted via separate connections in FIG. 4 to illustrate bi-directional data transfer, but in some embodiments the plurality of input data 462 and output data 464 may be transmitted using the same connection.
- Transceiver 428 transfers data between wired coupler 410 and VPE 426.
- Transceiver 428 may include a transmitter with a serializer, and a receiver with a deserializer.
- the serializer converts parallel streams of output data 466 from VPE 426 into a serial stream of output data that is transmitted to wired coupler 410 for wired transmission.
- the deserializer converts a serial input stream from wired coupler 410 into parallel streams of input data 468 which is transmitted to VPE 426.
- the virtual pipe VO 408 may include a separate transmitter and receiver.
- Wired coupler 410 (in connection with wired coupler 416) provides a wired communication link between virtual pipe VO 408 of board 402 and virtual pipe VO 414 of the board 404.
- Wired coupler 410 and wired coupler 416 can be wired connectors.
- Each link abstraction layer 434a, 434b is coupled to a respective LINK 438a, 438b of the slave components 412.
- Slave components 412 include the LINKs 438a, 438b to provide a port 482, 484, and one or more processors 440.
- Virtual pipe I/Os 408, 414 provide a communication link between the master components 406 and the slave components 412.
- FIG. 5 shows a system or device 500 including printed circuit boards 502, 504 that have components and circuitry that communicate with each other, in accordance with some embodiments.
- FIG. 5 shows two different VPIO circuitry configurations: one in which the VPIO circuitry exists independent of a sub-system or other integrated system existing on the printed circuit board (similar to what is shown in FIG. 4); and another in which the VPIO circuitry is integrated with a sub-system or some other integrated system existing on a printed circuit board.
- FIG. 5 shows an embodiment in which two or more different pairs of VPIO circuitry (e.g., integrated VPIO circuitry and independent VPIO circuitry) can be included in a system or device to replace interposer pins/vias.
- two or more different pairs of VPIO circuitry e.g., integrated VPIO circuitry and independent VPIO circuitry
- the integrated VPIO circuitry can provide a highly customized interconnect solution for the sub-system (e.g., a system on a chip) and the independent VPIO circuitry can provide a rapid interconnect design and deployment solution.
- a simplified representation of FIG. 4 is included in FIG. 5 as master components 506, VPIO circuitry 508, wired coupler 510, wired coupler 516, VPIO circuitry 514, and slave components 512.
- Master components 506 can include one or more LINKS 520 and one or more processors 518.
- Slave components 512 can include one or more LINKS 538 and one or more processors 540.
- VPIO circuitry 508 and VPIO circuitry 514 can each include respective link abstraction layers, a transmitter/receiver, and/or a VPE, all of which have been omitted to avoid cluttering the drawing.
- the VPIO integration is shown by a sub-system 540, a wired coupler 550, a sub-system 560, and a wired coupler 570.
- Sub-system 540 can include processor 542, LINKs 544, and VPIO circuitry 546, and sub-system 560 can include processor 562, LINKs 564, and VPIO circuitry 566.
- VPIO circuitry 546 and VPIO circuitry 566 may be integrated logical components of sub-system 540 and sub-system 560, respectively.
- LINKs 544, 564 can be similar to LINKs 420a, 420b, 438a, 438b of FIG. 4.
- FIG. 6A shows an illustrative VPIO circuitry 600 in accordance with an embodiment.
- VPIO circuitry 600 is connected to ports 601 via bi-directional consolidation circuitry 603 and transmitter/receiver 690.
- VPIO circuitry 600 is an example of VPIO circuitry shown in FIGS. 2A-2C, 3A, 3B, 4, and 5.
- VPIO circuitry 600 can include VPE 610, port activity detection circuitry 650, and low power mode detection circuitry 660.
- VPE 610 can include aggregator 612, encoder 614, port mapping coordinator 620, decoder 632, disaggregator 634, enabler 640, and disabler 642.
- the use of clocked functions in active mode can be minimized as much as possible to minimize the dynamic power consumption that is preponderant in active mode. Its value is C*V 2 *f, with C capacitance, V the power supply voltage, and f the clock frequency
- Ports 601 can represent N number of ports that are connected to VPIO circuitry 600 via bi-directional consolidation circuitry 603.
- Transmitter/receiver (or transceiver) 690 can transmit and receive data serially over a high-speed bus.
- Transceiver 690 is connected to a high-speed link that is wired or wireless.
- Transmitter/receiver 690 can include serializer 692 that converts data received as a parallel data stream into a serial data stream sent as output stream on bus 693 and a de-serializer 694 that converts data received as serial input data stream on bus 695 into a parallel data stream.
- transceiver 690 can include wake up block 699 that is operative to cause serializer 692 to send a “wake up” signal to its counterpart de-serializer in another transceiver to activate operation of that other transceiver, which in turn, can activate the VPIO circuitry associated with the other transceiver.
- Wake up block 699 can activate VPE 610 by providing a signal to enabler 640 in response to de-serializer 694 detecting a “wake up” signal (which is transmitted by a counterpart transceiver) on bus 695.
- Ports 601 can be connected to port activity detection circuitry 650, aggregator 612, and disaggregator 634 via bi-directional consolidation circuitry 603. Not shown in FIG. 6 are link abstraction layers that may be associated with each port.
- An output of port activity detection circuitry 650 can be connected to enabler 640 and to low power mode detection circuitry 660.
- Low power mode detection circuitry 660 may be coupled to high speed transmit bus 693 and to high speed receive bus 695.
- An output of circuitry 660 can be connected to disabler 642.
- port activity detection circuitry 650 is operative to detect activity on each of ports 601 using a low power clocked signal detection.
- port activity detection circuitry 650 is operative to detect activity on each of ports 601 using a gated clocked signal detection.
- the enable signal to control the gated clock may be activated with a set of pre-determined conditions.
- the enable pin may be driven by an upper function at system level in the circuitry of FIG. 6A that may wait for incoming traffic in a predetermined time window.
- the upper layer may have started a low power timer that wakes up the enable signal after a certain period of time.
- VPE 610 In response to detecting signal activity on any one of more of ports 601, VPE 610 is activated by circuitry 650 and aggregator 612 and programmable encoder 614 are activated to transfer data from ports 601 to the transceiver 690, which serializes the data to be transmitted over bus 693.
- Aggregator 612 is coupled to ports 601 and port mapping coordinator 620.
- Port mapping coordinator 620 can include a permanently configured mapping scheme or a dynamically configurable mapping scheme that defines a sequence of the ports. The mapping scheme may control a switch matrix that remaps a port on one board to another port on another board.
- a data buffer (not shown) can receive input data 611 from ports 601 and can store input data 611.
- the data buffer includes a first-in first- out (FIFO) memory for each of ports 601 that stores input data 611 received from ports 601.
- Aggregator 612 selects and aggregates input data 611 received from ports 601 (or from the FIFO memories of the data buffer) according to the mapping scheme defined in port mapping generator 620 to generate output data 613.
- FIFO first-in first- out
- Programmable encoder 614 receives output data 613 from aggregator 612 and performs an encoding or other processing to generate output data 615. In some embodiments, the programmable encoder 614 performs authentication and/or error correction. In some embodiments, the programmable encoder 614 may be bypassed, deactivated, or omitted from the VPE 610. Transceiver 690 receives output data 615 and generates an output stream 693 for a wired connector or other communication component, such as an EHF coupler.
- decoder 632 and disaggregator 634 can be activated to transfer received data to ports 601. Bi-directional communication between ports 601 and transceiver 690 is made possible coupling aggregator 612 and disaggregator 634 to ports 601 via bi-directional consolidation circuitry 603.
- Transceiver 690 receives input stream bus 695 from wired connector or other communication component, such as an EHF coupler.
- Deserializer 694 converts input stream 695 into parallel stream of input data 631.
- Programmable decoder 632 receives input data 631 and performs decoding or other processing to generate input data 633.
- the input data 631 may be generated by another VPE of another VPIO circuit (e.g., on another board) that applies an encoding algorithm in its transmitter mode prior to transmission, and programmable decoder 632 may decode the received input data 631 by applying a corresponding decoding algorithm.
- the programmable decoder 632 performs authentication and/or error correction.
- programmable decoder 6324 may be bypassed, deactivated, or omitted from the VPE 610.
- Enabler 640 and disabler 642 may be part of a controller (not shown) that controls the operation of VPE 610.
- the controller can manage state machine(s) or clock(s) that control operation of VPE 610.
- the controller may control the mode of operation including transmitter only, receiver only, or transceiver modes.
- FIG. 6B shows a simplified and alternative version of FIG. 6A according to some embodiments.
- the main difference between FIG. 6B and FIG. 6A is that the VPIO circuitry 600 and VPE 610 designations are removed and replaced with a generic aggregator-disaggregator module 608.
- Components in FIG.6 B having the same reference numerals as those in FIG. 6A need not be redescribed.
- Aggregator-disaggregator module 608 can perform the same aggregating and disaggregating functions as VPE 610, can be instructed to exit of out low power mode by port activity detection circuitry 650, can enter low power mode by low power mode detection circuitry 660.
- Port mapping coordinator may maintain a port mapping scheme for aggregator-disaggregator module 608.
- Detection circuitry 650 has been altered to include toggle detection circuitry 651 and exit low power detection circuitry 652 as these two circuitry components may collectively enable operation of port activity detection circuitry 650.
- Toggle detection circuitry 651 may be used to detect signal activity on a port. Examples of toggle detection circuitry 651 are discussed below in connection with FIGS. 7A, 8A, and 9.
- Exit low power detection circuitry 652 may be used to instruct aggregator-disaggregator module 608 to exit low power. Examples of exit low power detection circuitry 652 are discussed below in connection with FIGS. 10 and 11.
- FIG. 7A shows an illustrative circuit schematic of a portion of port activity detection circuitry 700 according to an embodiment.
- circuitry 700 can be used with circuity 1000 of FIG.10 or circuitry 1100 of FIG.11 collectively to represent port activity detection circuitry 650 of FIG. 6.
- circuitry 700 be referred to herein as toggle detection circuitry in that it is designed to detect a signal transition or signal activity on any given port.
- Circuitry 700 can detect a change of state at the input signal Pin_K 701 without the use any clock - internal or external - which advantageously minimizes the power consumption in low power or sleep mode.
- Pin_K 701 is connected to a port (e.g., one of ports 601).
- flip-flop 702 is reset and its output 703 is “0” at initialization. While the input signal is “0”, output 705 is “0”. If input signal 701 changes its state to “1”, XOR gate 704 compares the input 701 with a “0” at flip flop output 703 and transitions its output to “1” at output 705. This “0” to “1” positive transition is applied to the clock input of flip flop 702 and causes flip flop 702 to changes its output state 703 to “1”. XOR gate 704 compares “1” provided by input signal 701 and “1” provided by output signal 703 and causes output 705 to transition back to “0”.
- FIG. 7B shows an illustrative timing diagram showing operation of port activity detection circuitry 700 according to an embodiment.
- FIG. 7B shows traces for input signal 701, flip flop output 703 and XOR gate output 705.
- signals 701, 703, and 705 are all “0”.
- input signal 703 transitions from state “0” to “1”. This transition causes output signal 705 to transition from state “0” to “1”.
- the “1” is fed back to the clock input of flip flop
- XOR gate output 705 transitions from “1” to “0” when the “1” from input signal 701 and the “1” from output signal 703 are input to XOR gate 702. Signals 705 and 703 remain fixed until a new change of state appears at the input 701 at time t2, shown as a “1” to “0” negative transition. As this point in time, XOR gate 704 has a “0” and “1” at its inputs, and its output 705 transitions back to “1” and the pulse cycle restarts.
- Port 901 can be, for example, a general purpose input output (GPIO) port.
- GPIO ports are typically associated with a signal having low to middle speed of communication.
- the direction of communication is left to right from port 901 to debounce circuit 902, D flip flop 903, having output 905 and clock 907, and XOR gate 904 having inputs from debounce circuit 902, and flip flop 903.
- the debounce circuit is activated with the control signal 908.
- Communications spanning from right to left include signal 909, D flip flop 914 having output signal 918, signal 911, AND gate 915 having output signal 919, signal 912, NOR gate 916 having output signal 920, driver 917, and port 901.
- Clock signal 907 is used by D flip flop 903 to copy the input value at pin 901 filtered by debounce circuit 902 to output 905, clearing the change condition indicated by XOR gate 904 output 906.
- FIG. 10 shows illustrative port activity detection circuitry 1000 according to an embodiment.
- circuitry 1000 can be used in conjunction with toggle detection circuitries 700, 750, 800, and 900.
- Circuitry 1000 uses a clockless design to minimize power consumption and provides a signal that enables the VPIO circuitry to exit from a low power or sleep mode.
- Circuitry 1000 can include OR gate 1010 that receives N number of Toggle_ON outputs from N instances of circuitry 700, 750, 800 or 900 as inputs and generates an output signal 1012 that is provided to the S input of a RS flip flop 1020.
- the RS flip flop 1020 can receive an End of Frame or Go to Low Power signal at its R input.
- An End of Frame signal may be included at the end of a packet in serial stream transmitted or received by a transceiver (e.g., transceiver 690).
- a Go to Low Power signal may be received from a lower power mode detection circuit (e.g., circuitry 660).
- a port has signal activity
- this signal activity is detected by a respective one of circuitries 700, 750, 800 or 900, which outputs a “010” pulse.
- This pulse is fed to the S input of SR flip flop 1020 and causes output 1022 of SR flip flop 1020 to transition to a “1” when “1” is applied to the S input.
- the R input is “0” when the End of Frame or Go to Low Power signals have been detected.
- Output 1022 is the “Exit from Low Power” signal that can be used by the VPIO circuitry to exit the low power or sleep mode.
- FIG. 11 shows illustrative port activity detection circuitry 1100 according to an embodiment.
- Circuitry 1100 can process inputs and create a signal that can be used by the VPIO circuitry to exit the low power or sleep mode.
- Circuitry 1100 can include an OR gate 1110 with signals 1101 I-N as a set of first inputs and an End of Frame signal 1102 as a second input with an inversion.
- Signals 1101 I-N can be derived from the output of respective instances of circuitry 700, 750, 800 or 900. Until an End of Frame signal 1102 is reached (not in low power mode), output signal 1112 is active at “1” and cannot be shut down.
- FIG. 12 shows illustrative port activity detection circuitry 1200 according to an embodiment.
- Circuitry 1200 may build on circuitry 750 of FIG. 8A to address potential issues of metastability.
- a signal is sampled by a clock in an asynchronous fashion, there is a low but not zero probability that the clock signal and the input signal change state at the same time or almost at the same time, thereby disrupting setup time requirements of a flip-flop. Long hesitation or false logical state on the output can be the result, and this is called metastability.
- the output state may be erroneous (logical state “0” vs.
- Circuitry 1200 can include D flip flop 1204 having an input coupled to receive input signal 1201 from a port (e.g., one of ports 601), and output 1206 that stores the previous state of D flip flop 1204 and is provided to an input of D flip flop 1214.
- D flip flop 1214 is in series with D flip flop 1204.
- Circuitry 1200 can also include XOR gate 1205 having a first input coupled to the input signal 1201, a second input coupled to output signal 1206, and output 1202 coupled to a first input of AND gate 1210.
- Clock signal 1220 receives clock input from clock signal 1220.
- Clock signal 1220 is also coupled to a second input of AND gate 1210.
- the series arrangement flop flops 1204, 1214, coupled with the use of the same clock signal 1220 effectively mitigate any probability of metastability because the low probability of metastability occurring with flip flop 1204 is multiplied with the low probability of metastability occurring with flip flop 1214. For example, if the probability of creating metastability with a flip flop 1204 is 0.02 over all the phases possible between the transition of 1201 and 1220, the probability of metastability for this topology will be reduced significantly down to about 0.02*0.02 0.0004. In another words, a metastable state that is re-sampled with the same clock in 1214 is much less likely to propagate.
- Output signal 1202 i.e., Pin K Toggle On
- FIG. 13 shows an illustrative low power mode detection circuitry 1300 operative to determine when to cause the VPIO circuitry to rapidly enter into a low power or sleep mode according to an embodiment.
- the VPIO circuitry and state machines running therein are purposed to convey frames of symbols (symbols represent the state of pins). Upon conveying a frame, an End of Frame 1301 is generated. If there is no new IO pin toggle called Any_Pin_Toggle 1302I-N (e.g., outputs of circuitry 700, 750, 800 or 900) to be conveyed over the VPIO circuitry, the state machines and VPIO circuitry enter a low power state using function 1310 (e.g., a NAND gate). NANO gate 1310 creates a “Enter to Low Power” signal 1312 that can be used to enter low power mode. Signal 1312 can also be used to gate OFF the main clock to the VPIO circuitry.
- function 1310 e.g., a NAND gate
- the “Enter to Low Power” output 1312 may be provided to a processing block.
- the processing block may include one or several of a timer, a counter, a state machine, and a delay to delay the entering into Low Power mode according to its setting or programming.
- the processing block may switch off all or a portion of the VPIO system until a next activity is detected or until a predetermined period of time has elapsed.
- FIG. 14A shows an illustrative process 1400 according to an embodiment.
- Process 1400 may be implemented in VPIO circuity 600, for example.
- process 1400 discusses exit from low power mode and entry into low power mode when the VPIO is initially operating in a transmitter mode.
- a VPIO circuitry e.g., VPIO circuitry 600
- low power mode requires that no clocks or oscillators be operating.
- Process 1400 can monitor ports for signal activity at step 1408. For example, port activity detection circuitries 650, 700, 750, 800, 900, 1000, 1100 or 1200 can detect whether any activity is present on any one or more of the ports.
- Process 1400 can determine whether signal activity is present on at least one of the plurality of ports at step 1412, If no activity is present, process 1400 may revert to step 1408. If signal activity is present on at least one of the ports, process 1400 can instruct the VPIO circuitry to exit out of the low power mode at step 1418.
- port activity detection circuitry 650 can trigger enabler 640 to activate the necessary clocks, oscillators, processors, state machines, etc. to transition the VPIO to an active mode. Depending on the application in which the VPIO circuitry is used, exit out of low power mode can result in several different active mode scenarios.
- the VPIO may be fully woken up - in which case, all clocks, processors, state machines, etc. are woken up.
- the VPIO circuitry may be partially woken up - in which case, a subset or portion of the clocks, processors, state machines, etc. are woken up.
- Signals may continue to be processed through the VPIO circuitry so long as signal activity exists on at least one of the ports, as determined by step 1430, wherein a YES determination at step 1430 reverts process 1400 to step 1420. If signal activity on the ports has ceased, as determined by step 1430, process 1400 may determine whether an “end of frame” symbol has been detected at step 1440. If the determination at step 1440 is NO, process 1400 reverts to step 1430. If the determination at step 1440 is YES, the VPIO circuitry can be instructed to enter the low power mode at step 1450, and process 1400 can revert to step 1404. For example, low power mode detection circuitry 660 may confirm absence of signal activity on the ports with simultaneous detection of the “end of frame” symbol.
- FIG. 14B shows additional steps that may be taken as part of step 1420 of FIG. 14A according to an embodiment.
- signals are read from at least one of the ports. Reading of these signals can be performed several different ways. For example, a predetermined condition may need to be satisfied to read the signals, the ports may be read after a delay, the ports may be read after a predetermined processing has been completed, a subset or portion of the ports may be read, all ports may be read, only the ports that that toggled can be read, ports of a certain category (e.g., signal protocol) may be read, ports of multiple categories may be read, a combination of ports associated with one or more categories plus only specifically designated ports may be read. It should be understood that there are numerous other ways known to those with skill in art in which signals can be read off the ports.
- a predetermined condition may need to be satisfied to read the signals
- the ports may be read after a delay
- the ports may be read after a predetermined processing has been completed
- a subset or portion of the ports may be
- such bi-directional signals may be consolidated at step 1422.
- Consolidating step 1422 may be implemented by di-directional consolidation circuitry 603 of FIG. 6.
- the consolidation of the logic values (states) or sequences of states in Tx direction signals issued from the inputs at 601 and Rx, signals in reverse direction issued from disaggregator 634 can occur according to certain rules, including one or more of the following list to produce a consolidation value per each port 1-N: Connect each of the Tx_N and Rx_N signals together, connect them with a current limitation to avoid excess current when Tx and Rx states are not the same, the binary inputs from both directions are OR-ed together, are AND-ed together, the input signal of the first VPIO circuitry is used (Tx), the input signal of counterpart VPIO circuitry is used (Rx, reverse signal), connect each of the Tx_N and Rx_N signals with an open collector circuitry, connect them with I2C circuitry,
- step 1422 may be omitted for any or all input signals in 601, FIG. 6, if no bi-directional communications are used on any or all input signals.
- FIG. 15A shows an illustrative process 1500 according to an embodiment.
- Process 1500 may be implemented in VPIO circuity 600, for example.
- process 1500 discusses exit from low power mode and entry into low power mode when the VPIO circuitry is operating in a receiver mode. If the VPIO circuitry is engaged in bi-directional communications, then both processes 1400 and 1500 may be used.
- step 1505 a VPIO circuitry is operating in a low power mode.
- serialized signals are received over a medium (e.g., a high-speed communications bus).
- the serialized signals can include a wake-up signal operative to cause the VPIO circuitry to exit out of the low power mode and an end of frame symbol to indicate that a data exchange event is complete.
- wake up circuitry 699 may detect presence of a wake up signal in the serialized data 695 (or circuitry 699 can detect the wake up signal in de-serialized data).
- the received serialized signals can be processed through the VPIO, at step 1520.
- the signals can de-serialized, disaggregated according to a port mapping scheme, and selectively routed to a plurality of ports based on the port mapping scheme.
- process 1500 can check whether serialized signals are still being received over the medium. If the determination is YES, process 1500 reverts to step 1520. If the determination is NO, process 1500 can proceed to step 1540, which determines whether the end of frame symbol has been detected. If the determination is NO, process 1500 reverts to step 1530. If the determination is YES, the VPIO circuitry is instructed to enter low power mode at step 1550 and process 1500 reverts to step 1505.
- FIG. 15B shows additional steps that may be taken as part of step 1520 of FIG. 15A according to an embodiment.
- serialized signals are received from a medium and de-serialized at step 1522.
- the de-serialized signals can be disaggregated at step 1523.
- the disaggregation can identify where signals should be routed based on port mapping, groups of port mapping, or port swapping.
- port mapping coordinator 620 may be used to make the routing determination.
- the routing information is embedded into the signals and is extracted by the disaggregator to determine the routing destination of signals. If bi-directional signals are being used, such signals can be consolidated at step 1524.
- the disaggregated signals are routed to mapped ports, groups of mapped ports, or swapped ports.
- FIG. 16 shows an illustrative process 1600 for exiting out of lower power mode and entering into low power mode according to an embodiment.
- Process 1600 can be implemented in circuitry 600 of FIG. 6 and in particular may be implemented using circuitry 700, 750, or 800 and circuity 1300.
- a plurality of ports are monitored for signal activity with a plurality of port toggle detection circuits, wherein each port toggle detection circuit outputs a toggle pulse in response to a signal transition on the port to which that port toggle detection circuit is coupled, wherein each port toggle detection circuit operates independently of a clock signal.
- the clock signal independence can require that the plurality of port toggle detection circuits are operative to monitor the ports without use of a clock signal supplied externally from the port toggle detection circuits or internally within the port toggle circuits.
- the toggle pulse is a 010 transition.
- the VPIO circuitry may be instructed to enter the low power state when no toggle pulse is present on the toggle state output and an end of frame symbol or go to low power signal is received by the toggle processing circuitry.
- the toggle processing circuitry is a RS flip flop
- a first input can be connected to the toggle state output and a second input can be coupled to receive a signal from a low power detection circuit (e.g., circuit 1300) or coupled to monitor data lines (e.g., serialized data link or de-serialized data link) for an end of frame symbol.
- a low power detection circuit e.g., circuit 1300
- monitor data lines e.g., serialized data link or de-serialized data link
- FIG. 17 shows an illustrative process 1700 for determining when to enter low power mode according to an embodiment.
- Process 1700 may be implemented, for example, by circuitry 660 or circuitry 1300.
- VPIO circuitry may be operating in an active mode at step 1710.
- Low power mode detection circuitry can receive a toggle state output indicative of whether any signal activity is present on a plurality of ports and a data stream comprising data and an end of frame symbol, at step 1720.
- the toggle state output can be provided by port activity detection circuitry 700, 750 or 800.
- any processes described with respect to FIGS. 14A-17, as well as any other aspects of the invention may each be implemented by software, but may also be implemented in hardware, firmware, or any combination of software, hardware, and firmware. They each may also be embodied as machine- or computer-readable code recorded on a machine- or computer- readable medium.
- the computer-readable medium may be any data storage device that can store data or instructions which can thereafter be read by a computer system. Examples of the computer-readable medium may include, but are not limited to, read-only memory, randomaccess memory, flash memory, CD-ROMs, DVDs, magnetic tape, and optical data storage devices.
- the computer-readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
- the computer-readable medium may be communicated from one electronic subsystem or device to another electronic subsystem or device using any suitable communications protocol.
- the computer-readable medium may embody computer-readable code, instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information delivery media.
- a modulated data signal may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- any or each module or state machine discussed herein may be provided as a software construct, firmware construct, one or more hardware components, or a combination thereof.
- any one or more of the state machines or modules may be described in the general context of computer-executable instructions, such as program modules, that may be executed by one or more computers or other devices.
- a program module may include one or more routines, programs, objects, components, and/or data structures that may perform one or more particular tasks or that may implement one or more particular abstract data types.
- modules or state machines are merely illustrative, and that the number, configuration, functionality, and interconnection of existing modules may be modified or omitted, additional modules may be added, and the interconnection of certain modules may be altered.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IN202241067627 | 2022-11-24 | ||
| PCT/US2023/081153 WO2024112965A1 (en) | 2022-11-24 | 2023-11-27 | Systems and methods for entering and exiting low power mode for aggregator-disaggregator |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4623363A1 true EP4623363A1 (en) | 2025-10-01 |
Family
ID=91196676
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23895519.9A Withdrawn EP4623363A1 (en) | 2022-11-24 | 2023-11-27 | Systems and methods for entering and exiting low power mode for aggregator-disaggregator |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4623363A1 (en) |
| CN (1) | CN120641885A (en) |
| WO (1) | WO2024112965A1 (en) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9426095B2 (en) * | 2008-08-28 | 2016-08-23 | International Business Machines Corporation | Apparatus and method of switching packets between virtual ports |
| CN108549494B (en) * | 2013-11-08 | 2021-01-01 | 禾瑞亚科技股份有限公司 | Signal transmitter |
| CN207517054U (en) * | 2017-01-04 | 2018-06-19 | 意法半导体股份有限公司 | Crossfire switchs |
| US20200409732A1 (en) * | 2019-06-26 | 2020-12-31 | Ati Technologies Ulc | Sharing multimedia physical functions in a virtualized environment on a processing unit |
| US11194751B2 (en) * | 2019-07-16 | 2021-12-07 | Intel Corporation | Power management of re-driver devices |
-
2023
- 2023-11-27 WO PCT/US2023/081153 patent/WO2024112965A1/en not_active Ceased
- 2023-11-27 CN CN202380092179.5A patent/CN120641885A/en active Pending
- 2023-11-27 EP EP23895519.9A patent/EP4623363A1/en not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| CN120641885A (en) | 2025-09-12 |
| WO2024112965A1 (en) | 2024-05-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8352657B2 (en) | Digital device interconnect interface and system | |
| CN106970886B (en) | Controlling a physical link of a first protocol using an extended functionality architecture of a second protocol | |
| TWI624761B (en) | Device disconnect detection | |
| CN105051706B (en) | The equipment of operation for the low-power PHY with PCIE protocol stacks, method and system | |
| TWI628545B (en) | A computing device, a universal serial bus port, and a method of operating a universal serial bus | |
| EP2619907B1 (en) | Incorporating an independent logic block in a system-on-a-chip | |
| US20170286357A1 (en) | Method, Apparatus And System For Communicating Between Multiple Protocols | |
| CN106487372A (en) | Device including one-wire interface and the data handling system with the device | |
| US12019577B2 (en) | Latency reduction for link speed switching in multiple lane data links | |
| WO2014004916A1 (en) | Device connect detection | |
| US20170364141A1 (en) | Physical Layer for Peripheral Interconnect with Reduced Power and Area | |
| CN104380274A (en) | Optimized link training and management mechanism | |
| US11934335B2 (en) | Power management for peripheral component interconnect | |
| EP4623363A1 (en) | Systems and methods for entering and exiting low power mode for aggregator-disaggregator | |
| EP4623365A1 (en) | Port mapping for aggregator-disaggregator | |
| CN118132484A (en) | Detector circuit for start signaling in eUSB repeater | |
| CN118132483A (en) | eUSB Repeater for passing repeater mode packets between differential and single-ended buses | |
| JPWO2012140783A1 (en) | Autonomous initialization method for opposite port of semiconductor integrated circuit and semiconductor integrated circuit |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250623 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN |
|
| 18W | Application withdrawn |
Effective date: 20251110 |