WO2022165790A1 - Power-down isolation device and related method - Google Patents

Power-down isolation device and related method Download PDF

Info

Publication number
WO2022165790A1
WO2022165790A1 PCT/CN2021/075752 CN2021075752W WO2022165790A1 WO 2022165790 A1 WO2022165790 A1 WO 2022165790A1 CN 2021075752 W CN2021075752 W CN 2021075752W WO 2022165790 A1 WO2022165790 A1 WO 2022165790A1
Authority
WO
WIPO (PCT)
Prior art keywords
request
session
processing module
response
module
Prior art date
Application number
PCT/CN2021/075752
Other languages
French (fr)
Chinese (zh)
Inventor
张志强
吴青珍
陈勇
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2021/075752 priority Critical patent/WO2022165790A1/en
Priority to CN202180092640.8A priority patent/CN116762049A/en
Publication of WO2022165790A1 publication Critical patent/WO2022165790A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance

Definitions

  • the present application relates to the field of semiconductor technology, and in particular, to a power-down isolation device and related methods.
  • NOC refers to the integration of a large number of computing resources on a single chip and an on-chip communication network that connects these resources.
  • the NOC includes multiple sub-networks, and these sub-networks can be interconnected through the NOC bus.
  • Each sub-network can also include Multiple subsystems with different functions (such as audio systems, etc.).
  • the NOC bus is split into different power domains according to different functional subsystems, and different power domains can be powered on and off independently according to business scenarios.
  • Embodiments of the present invention provide a power-off isolation device and a related method, so as to implement power-off isolation protection for a power supply domain.
  • an embodiment of the present invention provides a power-off isolation device, characterized in that: the power-off isolation device includes a first power domain and a second power domain; the first power domain includes a first isolation module and a first processing module; the second power domain includes a second isolation module; each time the first processing module receives the first control information, it accumulates the number of times the first session request is allowed to be sent; the first session The request is a session request forwarded by the first isolation module to the second isolation module through the first request link; the first isolation module is configured to, after receiving the power-down request, send the request to the second isolation module through the second request link.
  • the first processing module sends a first notification request; the first processing module is configured to, in response to the first notification request, clear the accumulated number of times that the first session request is allowed to be sent, and stop receiving the first session request. control information to stop accumulating the number of times that the first session request is allowed to be sent; the first isolation module is further configured to disconnect from the second session request after the first processing module responds to the first notification request.
  • the master device and the slave device in the power-off isolation device perform transmission and communication based on a virtual channel (Virtual Channel, VC).
  • VC Virtual Channel
  • the master device will accumulate one or more times the number of times the session request is allowed to be sent. Sending a session request does not mean that the master device will immediately send a session request, but when the master device needs to send a session request to a slave device, the number of times the master device is allowed to send a session request is reduced by one each time it sends a session request to the slave device. , until the number of times allowed to send session requests is zero, the master device stops sending session requests.
  • VC Virtual Channel
  • the embodiments of the present invention improve the first isolation module of the master device in the power-off isolation device, so that when one of the power domains of the master device or the slave device is powered off, it should be sent to the slave device under abnormal conditions.
  • the session request of the device (for example, the second power domain mentioned above) is no longer sent to the slave device that is about to be disconnected, so as to avoid packet loss and bus hang, so as to implement power-off isolation protection for the power domain.
  • the first isolation module of the master device receives the power-down request, it actively sends a first notification request to the first processing module of the master device, and the first processing module responds to the first notification request to accumulate its accumulated
  • the number of times the session request is allowed to be sent is cleared and no new control information is received, so that the accumulated number of times the session request is allowed to be sent in the first processing module remains zero, and then the first isolation module and the second isolation module are disconnected.
  • the first request link between the master device and the slave device is disconnected, so that when the first processing module of the master device cannot send a session request to the outside, the corresponding first request link is disconnected.
  • a request link so as to avoid the possibility that if the first request link is disconnected first and then cleared, the first processing module will still send out the slave device (such as the second power domain mentioned above) However, the session request cannot get a response from the slave device, which leads to the bus hang phenomenon in the power domain where the first processing module is located.
  • the target responding device of the first session request is the second processing module included in the second power domain; each time the second processing module receives the second control information, the Accumulate the number of times that the first session response is allowed to be sent; the first session response is the response that the second processing module sends to the first processing module through the first response link in response to the first session request;
  • the first isolation module is further configured to send a second notification request to the first processing module through the second request link after disconnecting the first request link; the first processing module, is further configured to stop sending the second control information in response to the second notification request; the first isolation module is further configured to disconnect after the first processing module responds to the second notification request the first response link with the second isolation module.
  • the master device for example, the above-mentioned first power supply domain
  • the slave device for example, the above-mentioned second power supply domain
  • the master device performs transmission communication based on the virtual channel.
  • the slave device After one or more times of control information sent by the master device, the slave device will accumulate one or more times the number of times the session response is allowed to be sent. It means that the slave device will send a session request immediately, but when the slave device needs to send a session request to the master device, each time the slave device sends a session response to the master device, the number of times the session response is allowed to be sent is reduced by one, until the session is allowed to be sent. When the number of responses is zero, the slave device stops sending session responses.
  • the first isolation module also actively sends a second notification request to the first processing module, and the first processing module responds to the first request
  • the second notification request will stop sending control information to the slave device, and then disconnect the first response link between the first isolation module and the second isolation module, avoiding the need to first disconnect the first response link and then stop sending control information.
  • the first processing module may still send control information, but the control information cannot be responded by the slave device, which may lead to the phenomenon that the bus hangs up in the power domain where the first processing module is located.
  • the first isolation module is further configured to send a session suspension request to the second isolation module through a third request link; the second isolation module is configured to receive the suspension session After the session request, send a third notification request to the second processing module; the second processing module is configured to, in response to the third notification request, stop sending the first control information and stop sending the first control information.
  • a state of a session response; the second isolation module is further configured to send a pause to the first isolation module through the third request link after the second processing module responds to the third notification request A session response; the first isolation module is further configured to receive the session suspension response.
  • the slave device receives a message from the master device (for example, the above-mentioned first power domain
  • the second isolation module in the slave device may also send a third notification request to the second processing module in the slave device, and the second processing module is in a state of stopping to the master device in response to the third notification request.
  • the state of sending control information and session response so as to avoid that the second processing module will still send control information and session response when the first response link is disconnected, but the control information and session response cannot be responded by the slave device. , which in turn causes the phenomenon that the bus hangs up in the power domain where the second processing module is located.
  • each time the first processing module receives the third control information the number of times that the second session request is allowed to be sent is accumulated once;
  • the target responding device of the second session request is the first Two processing modules;
  • the second session request is a session request sent by the first processing module to the first isolation module through a fourth request link;
  • the first isolation module is further configured to pass the second The request link sends a fourth notification request to the first processing module and sends the third control information through the fourth request link;
  • the first processing module is further configured to: respond to the fourth notification request, send fourth control information to the first isolation module; receive the third control information, and accumulate the number of times that the second session request is allowed to be sent; send the second session request to the first isolation module ;
  • the first isolation module is further configured to: receive the fourth control information, and accumulate the number of times the second session response is allowed to be sent;
  • the second session response is that the first isolation module responds to the second session response a response to a session request and sent to the first processing module through a second response
  • the slave device no longer receives data from the master device (for example, the above-mentioned first power domain).
  • the master device for example, the above-mentioned first power domain.
  • the master device may still send a session request to the slave device. Therefore, in this embodiment of the present invention, the session request that should have been sent to the disconnected slave device is sent to the power supply.
  • the first isolation module of the domain so as to avoid the situation that the session request hangs without a response, and further, the first isolation module also informs the first processing module through the second session response that the session request sent by it has not been disconnected from the slave device. real response.
  • the first processing module in the master device also responds to the fourth notification request sent by the first isolation module in the master device.
  • the first processing module resumes and continues to accumulate the number of times that session requests are allowed to be sent, and the first processing module
  • the first processing module Each time the control information sent by the first isolation module is received, the number of times the session request is allowed to be sent will be accumulated.
  • the first processing module may send the session sending request that should be responded by the second processing module to the first isolation module.
  • the first isolation module receives the control information sent by the first processing module, the number of times the session response is allowed to be sent will be accumulated.
  • the first isolation module can send the session response, and at this time, the session request initiated by the first processing module can be responded to. Therefore, when one of the power domains of the master device or the slave device is powered off, the session request that the master device should have sent to the slave device in an abnormal situation is no longer sent to the disconnected slave device but to the first device. Isolate the module, thus avoiding the situation where the bus hangs in the power domain where the master device is located due to the fact that the session request initiated by the master device cannot get the response from the slave device when the link between the master device and the slave device is disconnected. Power-off isolation protection.
  • the first isolation module is further configured to send a fifth notification request to the first processing module through the second request link after receiving the power-on request; the first The processing module is further configured to, in response to the fifth notification request, clear the accumulated number of times that the second session request is allowed to be sent, and stop receiving the third control information to stop accumulating the number of times that the second session request is allowed to be sent. number of times; the first isolation module is further configured to disconnect the fourth request link with the first processing module after the first processing module responds to the fifth notification request, and establishing the first request link with the second isolation module.
  • the master device when one power domain of the master device or the slave device is powered on while the other power domain is always powered on, the master device no longer sends the session request that the second processing module responds to through the first The four-request link is sent to the first isolation module of this power domain to respond.
  • the first isolation module of the master device After the first isolation module of the master device receives the power-on request, it actively sends a fifth notification request to the first processing module of the slave device, and the first processing module responds to the fifth notification request to accumulate its accumulated The number of times the session request is allowed to be sent is cleared and the control information is no longer received, so that the number of times the first processing module is allowed to send the session request is no longer accumulated, thus ensuring that the first processing module cannot send the session request to the outside.
  • the first isolation module is further configured to send a sixth notification to the first processing module through the second request link after disconnecting the fourth request link request; the first processing module is further configured to stop sending the fourth control information in response to the sixth notification request; the first isolation module is further configured to respond to the After the sixth notification request is made, the second response link with the first processing module is disconnected, and the first response link with the second isolation module is established.
  • the first isolation module no longer responds to the first processing module and should be processed by the second Session requests that the module responds to. Specifically, the first isolation module actively sends a sixth notification request to the first processing module, and after the first processing module stops sending control information to the first isolation module in response to the sixth notification request, it disconnects the first processing module from the first processing module.
  • the second response link between the isolation modules avoids the possibility that if the second response link is disconnected first and then stops sending control information, the first processing module still sends control information, but the control information cannot be responded to. , which further leads to the phenomenon that the bus hangs up in the power domain where the first processing module is located.
  • the first isolation module is further configured to send a session permission request to the second isolation module through the third request link; the second isolation module is configured to receive all After the session permission request is made, send a seventh notification request to the second processing module; the second processing module is configured to respond to the seventh notification request, in the process of allowing the sending of the first control information and allowing the sending of all the state of the first session response; the second isolation module is further configured to send the first isolation module to the first isolation module through the third request link after the second processing module responds to the seventh notification request sending a session permission response; the first isolation module is further configured to receive the session permission response.
  • the slave device receives a signal from the master device (for example, the above-mentioned first power supply domain). domain), a seventh notification request may be sent to the second processing module in the slave device, and the second processing module is in a state of allowing sending of control information and session response to the master device in response to the seventh notification request.
  • the slave device sends a session permission response to the master device, which means that the second processing module is in a state of allowing the sending of the first control information and allowing the sending of the first session response.
  • the first isolation module is further configured to send an eighth notification request to the first processing module through the second request link; the first processing module is further configured to In response to the eighth notification request, send the second control information and the first session request; the second isolation module is configured to receive the second control information and the first session request, and send the second control information and the first session request The second control information and the first session request are forwarded to the second processing module; the second processing module is configured to: receive the second control information, and accumulate the data that are allowed to send the first session response. generating the first session response in response to the first session request; sending the first session response; the first processing module is further configured to receive the first session response.
  • the first isolation module no longer responds to the session request that should be responded by the slave device (for example, the second power domain mentioned above).
  • the session request initiated by the first processing module and responded by the slave device will be sent to the second processing module of the slave device for response.
  • the eighth notification request sent by the first isolation module in the master device the first processing module in the master device resumes and continues to accumulate the number of times the session request is allowed to be sent. Once the control information sent by the master device is received, the number of times the session request is allowed to be sent will be accumulated.
  • the first processing module may send the session request responded by the second processing module.
  • the second processing module of the slave device receives the control information sent by the first processing module, the number of times the session response is allowed to be sent will be accumulated.
  • the slave device can send the session response, and at this time, the session request initiated by the first processing module obtains the response from the slave device.
  • the session request that the master device should have sent to the slave device is no longer sent to the disconnected second power domain.
  • An isolation module responds and sends a response to the slave device, so that when the power domain is powered on, the power domain is prevented from hanging up, and the session is sent from the master device to the slave device while the power domain is isolated and protected. The request can get a normal response.
  • an embodiment of the present invention provides a power-off isolation method, which is characterized in that it is applied to a power-off isolation device, and the power-off isolation device includes a first power supply domain and a second power supply domain; the first power supply domain It includes a first isolation module and a first processing module; the second power domain includes a second isolation module; each time the first processing module receives the first control information, it accumulates the number of times that the first session request is allowed to be sent; The first session request is a session request forwarded by the first isolation module to the second isolation module through the first request link; the method includes: after receiving the power-down request through the first isolation module , sending a first notification request to the first processing module through the second request link; in response to the first notification request, the first processing module clears the accumulated number of times that the first session request is allowed to be sent, and stop receiving the first control information to stop accumulating the number of times that the first session request is allowed to be sent; through the first isolation module, after the first processing module responds
  • the target slave device of the first session request is the second processing module included in the second power domain; each time the second processing module receives the second control information, the Accumulate the number of times that the first session response is allowed to be sent; the first session response is the response that the second processing module sends to the first processing module through the first response link in response to the first session request;
  • the method further includes: after disconnecting the first request link through the first isolation module, sending a second notification request to the first processing module through the second request link; A processing module stops sending the second control information in response to the second notification request; the first isolation module disconnects the first processing module from the second notification request after the first processing module responds to the second notification request the first response link between the second isolation modules.
  • the method further includes: sending a session suspension request to the second isolation module through the first isolation module through a third request link; receiving the session suspension request through the second isolation module After the session request is suspended, a third notification request is sent to the second processing module; in response to the third notification request, the second processing module is in a state of stopping sending the first control information and stopping sending the first the status of the session response; after the second processing module responds to the third notification request, the second isolation module sends a suspend session response to the first isolation module through the third request link; through The first isolation module receives the suspend session response.
  • each time the first processing module receives the third control information the number of times the second session request is allowed to be sent is accumulated once;
  • the target slave device of the second session request is the first two processing modules;
  • the second session request is a session request sent by the first processing module to the first isolation module through a fourth request link;
  • the method further includes: passing through the first isolation module through the the second request link sends a fourth notification request to the first processing module and sends the third control information through the fourth request link; and responds to the fourth notification request through the first processing module , sending fourth control information to the first isolation module; receiving the third control information, and accumulating the number of times the second session request is allowed to be sent; sending the second session request to the first isolation module;
  • the fourth control information is received by the first isolation module, and the number of times the second session response is allowed to be sent is accumulated;
  • the second session response is that the first isolation module responds to the second session request and passes the second session response.
  • the second response link sends the response to the first processing module
  • the method further includes: after receiving the power-on request through the first isolation module, sending a fifth notification request to the first processing module through the second request link;
  • the first processing module in response to the fifth notification request, clears the accumulated number of times that the second session request is allowed to be sent, and stops receiving the third control information to stop accumulating the number of times that the second session request is allowed to be sent. number of times; after the first processing module responds to the fifth notification request, the first isolation module disconnects the fourth request link with the first processing module, and establishes a link with the first processing module. the first request link between the second isolation modules.
  • the method further includes: after disconnecting the fourth request link, through the first isolation module, sending a message to the first processing module through the second request link a sixth notification request; in response to the sixth notification request by the first processing module, stop sending the fourth control information; in response to the sixth notification request in the first processing module by the first isolation module After the request is notified, the second response link with the first processing module is disconnected, and the first response link with the second isolation module is established.
  • the method further includes: sending a session permission request to the second isolation module through the third request link through the first isolation module; receiving through the second isolation module After the session request is allowed, a seventh notification request is sent to the second processing module; in response to the seventh notification request, the second processing module is in the process of allowing the sending of the first control information and allowing the sending of the The state of the first session response; after the second processing module responds to the seventh notification request through the second isolation module, a session permission response is sent to the first isolation module through the third request link ; Receive the allowed session response by the first isolation module.
  • the method further includes: sending, by the first isolation module, an eighth notification request to the first processing module through the second request link; In response to the eighth notification request, the second control information and the first session request are sent; the second control information and the first session request are received by the second isolation module, and the The second control information and the first session request are forwarded to the second processing module; the second control information is received by the second processing module, and the number of times that the first session response is allowed to be sent is accumulated; generating the first session response from the first session request; sending the first session response; and receiving the first session response through the first processing module.
  • the present application provides a semiconductor chip, which may include the power-off isolation device involved in any one of the implementation manners of the above-mentioned first aspect.
  • the present application provides a chip system, where the chip system includes the power-off isolation device involved in any one of the implementation manners of the first aspect.
  • the chip system may be composed of chips, or may include chips and other discrete devices.
  • the present application provides an electronic device, including a processor and a memory, wherein the memory is used to store program codes, and the processor is used to call the program codes stored in the memory to execute the above-mentioned first aspect.
  • the power-off isolation device involved in any implementation manner.
  • the present application provides a system-on-a-chip SoC chip, where the SoC chip includes the power-off isolation device involved in any one of the implementation manners of the above-mentioned first aspect.
  • the SoC chip may be composed of chips, or may include chips and other discrete devices.
  • the present application provides a storage device having the function of implementing any one of the power-off isolation methods in the second aspect above.
  • This function can be implemented by hardware or by executing corresponding software by hardware.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the present application provides a terminal, where the terminal includes a host, and the host includes the power-off isolation device involved in any one of the implementation manners of the foregoing first aspect.
  • the terminal may also include a communication interface for the terminal to communicate with other devices or a communication network.
  • the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a storage device, implements the power-off isolation described in any one of the second aspect above method flow.
  • an embodiment of the present invention provides a computer program, where the computer program includes instructions, when the computer program is executed by a storage device, the storage device can perform the power-off isolation described in any one of the second aspects above method flow.
  • FIG. 1A is a schematic structural diagram of an on-chip network according to an embodiment of the present invention.
  • FIG. 1B is a schematic diagram of another on-chip network structure provided by an embodiment of the present invention.
  • FIG. 1C is a schematic diagram of a session transmission manner provided by an embodiment of the present invention.
  • FIG. 1D is a schematic diagram of a session request provided by an embodiment of the present invention.
  • FIG. 2A is a schematic diagram of a power-off isolation device according to an embodiment of the present invention.
  • FIG. 2B is a schematic diagram of another power-off isolation device provided by an embodiment of the present invention.
  • FIG. 2C is a schematic diagram of a link of a power-off isolation device according to an embodiment of the present invention.
  • FIG. 2D is a schematic diagram of another power-off isolation device link provided by an embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of a design of a power-domain boundary implementation of a power-off isolation protection processing device according to an embodiment of the present invention.
  • FIG. 4A is a schematic flowchart of a power-off isolation method provided by an embodiment of the present invention.
  • FIG. 4B is a schematic diagram of a user interface for using an application by a user according to an embodiment of the present invention.
  • a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
  • an application running on a computing device and the computing device may be components.
  • One or more components may reside within a process and/or thread of execution, and a component may be localized on one computer and/or distributed between 2 or more computers.
  • these components can execute from various computer readable media having various data structures stored thereon.
  • a component may, for example, be based on information having one or more data packets (such as data from two components interacting with another component between a local system, a distributed system, and/or a network, such as the Internet through which information interacts with other systems) Communicate through local and/or remote processes.
  • data packets such as data from two components interacting with another component between a local system, a distributed system, and/or a network, such as the Internet through which information interacts with other systems
  • NOC Network On Chip
  • SoC System On Chip
  • the power domain is an area divided for the total power supply, which facilitates system verification and reduces system power consumption.
  • the modem (MODEM) subsystem, audio subsystem, sensor subsystem, etc. these subsystems are independently powered in the SoC design.
  • the power supply of the subsystems can be turned off, which can save power consumption .
  • the MODEM subsystem when it is in airplane mode, it can be powered off to reduce the power consumption of the chip, but at this time, the audio subsystem can still play music and be powered on.
  • the power domain is divided according to the functional area of SoC.
  • FIG. 1A is a schematic diagram of an on-chip network structure provided by an embodiment of the present invention.
  • the on-chip network 20 may be located in any electronic device, such as a computer, a computer, a mobile phone, and a tablet. and other equipment.
  • the network-on-chip 20 may specifically be a chip or a chip set or a circuit board on which the chip or the chip set is mounted.
  • the chip or chip set or the circuit board on which the chip or chip set is mounted can be driven by necessary software.
  • the network-on-chip 20 includes a first subsystem 201, a second subsystem 202, an initial bridge 203, a routing module 204, and a target bridge 205, wherein
  • the first subsystem 201 is a functional module that provides power from a first power domain, and the first power domain has the functions of independent power-on and independent power-off in the logic circuit.
  • the first power domain When the first power domain is powered on, it can supply power to the first subsystem 201 to ensure that the first subsystem 201 can work normally; when the first power domain is powered off, it will no longer supply power to the first subsystem 201, The first subsystem 201 will be in a stop working state.
  • the second subsystem 202 is a functional module that provides power from a second power domain, and the second power domain has functions of independent power-on and independent power-off in the logic circuit.
  • the second power domain When the second power domain is powered on, it can supply power to the second subsystem 202 to ensure that the second subsystem 202 can work normally; when the second power domain is powered off, it will no longer supply power to the second subsystem 202, The second subsystem 202 will be in a shutdown state.
  • One or more initial bridges 203 may be included in the first subsystem 201 and the second subsystem 202, and the initial bridges 203 are protocol conversion bridges that convert the interface protocol of the docking device into the network interface protocol of the network-on-chip NOC.
  • the initial bridge 203 is connected to the main device (such as a graphics processor GPU, etc.). Since the interface protocol between the main device and the NOC internal network is different, when the signal is output from the main device, it will be carried out in the initial bridge 203. The signal protocol is converted so that the signal enters the NOC internal network.
  • the initial bridge of NOC1 is connected to the target bridge of NOC0, since the two NOCs have independent NOC buses, so the two different NOCs Signals cannot be directly transmitted between them.
  • the protocol conversion of the signal is performed in the target bridge according to the protocol rules, and the target bridge transmits the converted signal to the initial bridge of NOC1, and then the initial bridge will According to the received signal, do a protocol conversion again, so that the signal can enter the NOC1 internal network, so as to realize cross-NOC interconnection.
  • One or more target bridges 205 may be included in the first subsystem 201 and the second subsystem 202, and the target bridges 205 are protocol conversion bridges that convert the NOC internal network protocol to the interface protocol of the docking device.
  • the target bridge 205 is connected to a slave device (such as a memory, etc.), since the interface protocol between the slave device and the NOC internal network is different, when the signal is output from the NOC internal network, the signal will be transmitted in the target bridge 205. Protocol conversion so that the signal can enter the slave device.
  • NOC0 accesses NOC1 for example, NOC0 accesses NOC1
  • the NOC0 target bridge is connected to the initial bridge of NOC1.
  • NOC0 and NOC1 have independent NOC buses, the two NOCs cannot communicate with each other. Direct signal transmission.
  • the protocol conversion of the signal will be carried out in the target bridge according to the protocol rules, and the target bridge will send the converted signal to the initial bridge of NOC1, and then the initial bridge of NOC1.
  • the bridge will perform another protocol conversion according to the received signal, so that the signal can enter the NOC1 internal network, thereby realizing cross-NOC interconnection.
  • the first subsystem 201 and the second subsystem 202 also include one or more routing modules 204.
  • the routing module 204 is a hardware device connecting two or more networks, and acts as a gateway between the networks. The address in each packet then decides how to transmit it to the dedicated intelligence of the network device. It can understand different protocols, such as the Ethernet protocol used by a local area network, and the TCP/IP protocol used by the Internet. In this way, the routing module can analyze the destination addresses of data packets from various types of networks, convert the addresses of non-TCP/IP networks into TCP/IP addresses, or vice versa; The best route is sent to the specified location.
  • the routing module can establish a data connection between the modules of different networks in one subsystem, and can also establish a data connection between the subsystems of two different networks to realize the interaction between the two subsystems.
  • the initial bridge 203 in the first subsystem 201 can access the target bridge in the first subsystem 201 through the routing module in the first subsystem, and can also access the second subsystem through the routing module in the first subsystem.
  • the routing module in the subsystem 202 thus accesses the target bridge in the second subsystem 202 .
  • FIG. 1B is a schematic diagram of another on-chip network structure provided by an embodiment of the present invention
  • the figure includes a first on-chip network 000, a first subsystem 010 powered by a first power domain, and a The second subsystem 020 powered by the second power domain, the first initial bridge 011, the first routing module 012, the first target bridge 013, the link interface 014 across the power domain boundary, the power isolation compartment 030, the second routing module 021 , and the second target bridge 022 is formed.
  • the on-chip network 20 is the first on-chip network 000 in the figure
  • the initial bridge 203 is the first initial bridge 011 in the figure
  • the routing module 204 is the first routing module 012 and the second routing module 021 in the figure
  • the target bridge 205 is the first target bridge 013 and the second target bridge 022 in the figure.
  • the link interface 014 across the power domain boundary is used to transmit session requests and session responses between the first subsystem 010 and the second subsystem 020
  • the power isolation room 030 is used to physically implement a power-off isolation device.
  • the first initial bridge 011 can access the second routing module 021 through the first routing module 012, and thus can access the second target bridge 022, wherein the session request initiated by the first subsystem 010 can be accessed through the cross-connection
  • the link interface 014 of the power domain boundary is sent to the second subsystem 020, and the second subsystem 020 generates a corresponding session response after responding to the session request, and sends it to the first sub-system through the link interface 014 across the power domain boundary System 010.
  • the main device connected to the initial bridge 203 in the NOC may be an application processor (application processor, AP), a central processing unit (central processing unit, CPU), a graphics processing unit (graphics processing unit, GPU) , neural-network processing unit (NPU), modem processor, image signal processor (image signal processor, ISP), controller, memory, video codec, digital signal processor (digital signal processor) processor, DSP), baseband processor, etc.
  • application processor application processor
  • AP central processing unit
  • CPU central processing unit
  • graphics processing unit graphics processing unit
  • NPU neural-network processing unit
  • modem processor image signal processor
  • image signal processor image signal processor
  • ISP image signal processor
  • controller memory
  • video codec digital signal processor
  • DSP digital signal processor
  • the slave device connected to the target bridge 205 in the NOC can be Flash flash memory (eg, NAND flash memory, NOR flash memory, etc.), universal flash storage (UFS), embedded multimedia card eMMC, universal flash storage multi-chip package uMCP Memory, embedded multimedia card multi-chip package eMCP memory, solid state drive (SSD), mechanical hard disk (Hard Disk Drive, HDD), etc.
  • Flash flash memory eg, NAND flash memory, NOR flash memory, etc.
  • UFS universal flash storage
  • embedded multimedia card eMMC universal flash storage multi-chip package uMCP Memory
  • embedded multimedia card multi-chip package eMCP memory solid state drive (SSD), mechanical hard disk (Hard Disk Drive, HDD), etc.
  • SSD mechanical hard disk
  • HDD hard disk
  • FIG. 1A the structure of a system-on-chip in FIG. 1A is only an exemplary implementation in the embodiments of the present application, and the structural architecture of the system-on-chip in the embodiments of the present application includes but is not limited to the above architecture.
  • FIG. 1C is a schematic diagram of a session transmission mode provided by an embodiment of the present invention.
  • the sender TX 410 includes a sender counter 411, three VC session requests 412, an arbitration The scheduler 413;
  • the receiving end RX 420 includes a receiving end counter 421, a first-in-first-out memory VC FIFO 423, and a demultiplexing selector DEMUX 422.
  • the sending end may be located in the routing module of the first subsystem in the above network-on-chip, and the receiving end may be located in the routing module of the second subsystem.
  • the following is the process of interaction between the sender and the receiver:
  • Step 1 The VC FIFO 423 in the receiving end sends a count request to the receiving end counter 421.
  • the VC FIFO 423 in the receiving end is used to store data. If the VC FIFO 423 has an available buffer depth, a counting request is sent to the receiving end counter 421.
  • Step 2 The receiver counter 421 receives the count request. Each time the receiver counter 421 receives a count request initiated by the VC FIFO 423, the receiver counter 421 counts up once.
  • Step 3 The receiver counter 421 sends crdt_x to the transmitter counter 411 . If the receiving end counter 421 is in a non-zero state, the control information crdt_x may be sent to the transmitting end counter 411 , and the receiving end counter 421 is decremented every time one crdt_x is sent.
  • Step 4 The sender counter 411 receives crdt_x. Each time the sender counter 411 receives a crdt_x sent by the receiver counter 421, the sender counter 411 counts up one time.
  • Step 5 The sender counter 411 sends a scheduling request to the arbitration scheduler 413 .
  • a scheduling request is sent to the arbitration scheduler 413 .
  • Step 6 After the arbitration scheduler 413 receives the scheduling request, each time the arbitration scheduler 413 receives a scheduling request sent by the sender counter 411, it will schedule a session request from the three VC session requests 412 and allow it to be sent through the link 430. To the demultiplexing selector DEMUX 422 of the receiving end RX 420.
  • Step 7 DEMUX 422 receives the request by the session. After receiving the session request, the DEMUX 422 can demultiplex the information in the session request and store it in the VC FIFO 423.
  • Step 8 The arbitration scheduler 413 sends a scheduling response grant_x to the sender counter 411 every time a session request is completed, and the sender counter 411 decrements the count every time it receives a grant_x.
  • a master device eg, the first processing module in the first power domain mentioned above
  • a slave device eg, the second processing module in the second power domain mentioned above
  • RX1 and RX2 are used to control sending session requests
  • TX2 and RX2 are used to control sending session responses.
  • TX1 in a master device sends a session request to RX1 in a slave device, after the slave device responds to the session request and generates a corresponding session response, TX2 in the slave device sends the session response to RX2 in the master device.
  • the specific implementation process is as follows:
  • TX1 sends a session request to RX1:
  • the first FIFO memory in RX1 has an available cache depth
  • the first FIFO memory sends a count request to the request receiver counter, and the request receiver counter increases the count once after receiving the count request , at this time, the counter of the request receiver is counted as one, and then a network request credit information (network_request_credit, network_req_crdt) is sent to the counter of the request sender, and the count is decreased by one time, where network_req_crdt is the above-mentioned control information.
  • the request sender counter receives the network_req_crdt
  • the count is incremented by one. At this time, the request sender counter counts to one, and the request receiver counter counts to zero.
  • the request sender counter may send a scheduling request to the first arbitration scheduler, and after receiving a scheduling request, the first arbitration scheduler will schedule a session request, such as the first session request, from among the three VC session requests.
  • FIG. 1D is a schematic diagram of a session request provided by an embodiment of the present invention.
  • the first session request includes network request payload information (network_request_payload, network_req_pld) and network request VLD information (network_request_VLD) , network_req_vld), the first session request is allowed to be sent to the first demultiplexing selector of the receiver RX1 through the link.
  • the first demultiplexing selector may demultiplex the network_req_pld in the first session request and store it in the first FIFO memory.
  • TX2 sends a session response to RX2:
  • the slave device generates a session response after responding to the session request sent by the master device.
  • the slave device sends the session response to the master device
  • the second FIFO memory in RX2 has an available buffer depth
  • the second FIFO memory The first-out memory sends a count request to the counter of the response receiver, and the counter of the receiver of the response receives the count request and increments the count by one time.
  • the counter of the receiver of the response is counted as one, and then sends a network response credit information to the counter of the sender of the response.
  • the count is decremented once, and the response credit information here is the above-mentioned control information.
  • the response sender counter may send a scheduling request to the second arbitration scheduler, and after receiving the scheduling request, the second arbitration scheduler may schedule a session response, such as the first session response, from the three VC session responses. As shown in FIG.
  • the first session response includes network response payload information (network_respond_payload, network_rsp_pld) and network response VLD information (network_respond_VLD, network_rsp_vld), and the first session response is allowed to be sent to the receiver through the link Second demux selector for RX2.
  • the second demultiplexing selector may demultiplex the network_rsp_pld in the session response and store it in the second FIFO memory.
  • a session transmission manner in FIG. 1C is only an exemplary implementation in the embodiment of the present application, and the session transmission manner in the embodiment of the present application includes but is not limited to the above architecture.
  • FIG. 2A is a schematic diagram of a power-off isolation device according to an embodiment of the present invention. As shown in FIG.
  • the power-off isolation device 30 includes: a first power supply domain 303 and a second power supply domain 302; a first power supply The domain 303 includes a first isolation module 304 and a first processing module 303; the second power domain 302 includes a second isolation module 305; each time the first processing module 303 receives the first control information, it accumulates one time to allow the first session request to be sent The first session request is the session request forwarded by the first isolation module 304 to the second isolation module 305 through the first request link.
  • the first isolation module 304 is configured to send the first notification request to the first processing module 303 through the second request link after receiving the power-down request.
  • the power manager of the chip system sends the power-off state to the first isolation module. request; when the second power domain is about to change from the power-on state to the power-off state, if the first power domain is always in the power-on state, the second power domain sends a power-off request to the first isolation module.
  • the first isolation module After the first isolation module receives the power-down request, the first isolation module sends the first notification request to the first processing module 303 through the second request link, and the second request link is used to transmit the first isolation module 304 and the first The notification request between the processing modules 303.
  • the first notification request is used to instruct the first processing module 303 to reset the accumulated number of session requests allowed to be sent to zero, and stop receiving control information to stop accumulating the number of allowed session requests to be sent.
  • the first processing module 303 is configured to, in response to the first notification request, clear the accumulated number of times of the request for allowing the first session to be sent, and stop receiving the first control information to stop accumulating the first session that is allowed to be sent.
  • the number of requests Specifically, after the first processing module 303 receives the first notification request sent by the first isolation module 304, it will reset the accumulated number of times the first session request is allowed to be sent to zero and stop receiving corresponding control information to stop accumulating The number of times the first session request is allowed to be sent.
  • the first isolation module 304 is further configured to disconnect the first request link with the second isolation module 305 after the first processing module 303 responds to the first notification request. Specifically, after the first processing module 303 stops sending the session request, the first isolation module 304 will disconnect the request link with the second isolation module 305 . For example, when the number of times the first session request is allowed to be sent in the first processing module 303 is two, the first processing module 303 sends two session requests to the outside in sequence and forwards them to the slave device through the first request link.
  • the first isolation module 304 directly disconnects the first request link, and the two session requests initiated by the first processing module 303 cannot be sent to the slave device, which will result in the two session requests not getting a response, causing the system-on-a-chip There are packet loss and hang up.
  • the master device and the slave device in the power-off isolation device perform transmission communication based on a virtual channel (Virtual Channel, VC), the master device is the device that initiates the session request, and the slave device is the device that responds to the session response.
  • VC Virtual Channel
  • the master device When the master device (such as the first power domain mentioned above) receives one or more control messages sent by the slave device (such as the second power domain mentioned above), the master device will accumulate one or more allow-sending sessions
  • the number of requests when the number of times allowed to send session requests is non-zero, it means that the master device is allowed to send session requests, which does not mean that the master device will immediately send a session request, but when the master device needs to send a session request to the slave device,
  • Each time the device sends a session request to the slave device the number of times the session request is allowed to be sent is reduced by one, until the number of times the session request is allowed to be sent is zero, the master device stops sending the session request.
  • the transmission that should be sent to the slave device (for example, the above-mentioned The session request of the mentioned second power domain) is no longer sent to the slave device about to be disconnected, so as to avoid the phenomenon of packet loss and bus hang, so as to realize the power-off isolation protection for the power domain.
  • the first isolation module of the master device receives the power-down request, it actively sends a first notification request to the first processing module of the master device, and the first processing module responds to the first notification request to accumulate its accumulated
  • the number of times the session request is allowed to be sent is cleared and no new control information is received, so that the accumulated number of times the session request is allowed to be sent in the first processing module remains zero, and then the first isolation module and the second isolation module are disconnected.
  • the first request link between the master device and the slave device is disconnected, so that when the first processing module of the master device cannot send a session request to the outside, the corresponding first request link is disconnected.
  • a request link so as to avoid the possibility that if the first request link is disconnected first and then cleared, the first processing module will still send out the slave device (such as the second power domain mentioned above) However, the session request cannot get a response from the slave device, which leads to the bus hang phenomenon in the power domain where the first processing module is located.
  • the first isolation module 304 in the power-off isolation device is improved, so that the first isolation module 304 can control the first processing module 303 to be in the state of suspending sending session requests, and then disconnect from the second isolation module
  • the request link between the modules 305 thus avoiding the possibility that if the first request link is disconnected first and then cleared, the session request that should be responded by the slave device will still be sent on the first processing module 303.
  • the session request needs to be forwarded to the slave device by the first isolation module through the first request link, but after the first request link is disconnected, the slave device cannot receive the session request, so the session request cannot get a response from the slave device, and further As a result, the bus hang phenomenon occurs in the power domain where the first processing module 303 is located.
  • the target slave device of the first session request is the second power domain
  • the first isolation module 304 is further configured to pass the second request link after disconnecting the first request link Send a second notification request to the first processing module 303;
  • the first processing module 303 is further configured to stop sending the second control information in response to the second notification request;
  • the first isolation module 304 is further configured to A processing module 303 disconnects the first response link with the second isolation module 305 after responding to the second notification request.
  • the first processing module 303 has initiated multiple session requests before the first isolation module 304 disconnects the first request link mentioned above, and the first isolation module 304 passes these session requests through the first The request link has been forwarded to the second processing module 306, and the second processing module 306 will generate corresponding session responses in response to these session requests.
  • 303 generates the second control information, so the accumulative number of times the second processing module 306 is allowed to send the session response is non-zero, and the second processing module 306 sends the generated session response to the first processing through the first response link in turn. Module 303.
  • the first isolation module 304 will send a second notification request to the first processing module 303, and the first processing module 303 will stop sending the first notification request in response to the second notification request.
  • Second control information so that the second processing module 306 can no longer receive new second control information and cannot continue to accumulate the number of times that the first session response is allowed to be sent.
  • the first isolation module 304 will disconnect the first response link with the second isolation module 305, so that the session response generated by the second processing module 306 in an abnormal situation cannot be obtained from the first response link mentioned above.
  • the route is sent to the first processing module 303 to avoid the phenomenon of packet loss and bus hang, so as to implement power-off isolation protection for the power supply domain.
  • the second control information is generated by the first processing module 303 and sent to the first isolation module 304, and then the first isolation module 304 sends it to the second isolation module 305 through the first response link and forwards it to the second isolation module 304. Processing module information.
  • the first processing module 303 initiates two session requests, and the second processing module 306 receives the two session requests and responds to the two sessions Two corresponding session responses were generated after the request. If the second processing module 306 receives three pieces of second control information generated by the first processing module 303, and the second processing module 306 accumulates three times that the session response is allowed to be sent, the second processing module 306 can send the first processing The module 303 returns a corresponding session response. After the second processing module 306 returns the two session responses, the number of times the second processing module 306 is allowed to send session responses is one.
  • the first isolation module 304 After the first processing module 303 responds to the second notification request sent by the first isolation module 304, the first isolation module 304 will disconnect the first response link with the second isolation module 305, so that the second processing module 306 cannot receive new second control information, so the second processing module 306 no longer accumulates the number of times the session response is allowed to be sent.
  • the master device for example, the above-mentioned first power supply domain
  • the slave device for example, the above-mentioned second power supply domain
  • the master device performs transmission communication based on the virtual channel.
  • the slave device After one or more times of control information sent by the master device, the slave device will accumulate one or more times the number of times the session response is allowed to be sent. It means that the slave device will send a session request immediately, but when the slave device needs to send a session request to the master device, each time the slave device sends a session response to the master device, the number of times the session response is allowed to be sent is reduced by one, until the session is allowed to be sent. When the number of responses is zero, the slave device stops sending session responses.
  • the first isolation module also actively sends a second notification request to the first processing module, and the first processing module responds to the first request
  • the second notification request will stop sending control information to the slave device, and then disconnect the first response link between the first isolation module and the second isolation module, avoiding the need to first disconnect the first response link and then stop sending control information.
  • the first processing module may still send control information, but the control information cannot be responded by the slave device, which may lead to the phenomenon that the bus hangs up in the power domain where the first processing module is located.
  • the first isolation module 304 is further configured to send a session suspension request to the second isolation module 305 through the third request link; the second isolation module 305 is configured to receive After the session suspension request, send a third notification request to the second processing module 306; the second processing module 306 is configured to, in response to the third notification request, stop sending the first control information and stop sending the The state of the first session response; the second isolation module 305 is further configured to send a pause session response to the first isolation module 304 through the third request link after the second processing module 306 responds to the third notification request ; The first isolation module 304 is further configured to receive the suspend session response.
  • the first processing module 303 initiates two session requests, and the second processing module 306 receives the two session requests and responds to the two sessions Two corresponding session responses were generated after the request. If the second processing module 306 receives three pieces of second control information generated by the first processing module 303, and the second processing module 306 accumulates three times that the session response is allowed to be sent, the second processing module 306 can send the first processing The module 303 returns the corresponding session response. After the second processing module 306 returns the two session responses, the number of times the second processing module 306 is allowed to send the session response is one, and the second processing module 306 is still in the state of allowing the session response to be sent. state.
  • the first isolation module 304 will disconnect the first response link with the second isolation module 305, so that the second processing module 306 cannot receive new second control information through the first response link, so the number of times the second processing module 306 is allowed to send a session response is kept as one.
  • the first isolation module 304 may send a session suspension request to the second isolation module 305, and after receiving the session suspension request, the second isolation module 305 may send a third notification request to the second processing module 306, and the second processing module 306 In response to the third notification request, the second processing module 306 no longer sends the first control information to the master device, and sets the previously accumulated number of times the session response is allowed to be sent to zero to stop sending the session response out.
  • the second isolation module 305 sends a suspend session response to the first isolation module 304, indicating that the second processing module 306 is in a state of stopping sending the first control information and stopping sending the first session response.
  • the first control information is generated by the second processing module 306 and sent to the second isolation module 305, and then the second isolation module 305 sends it to the first isolation module 304 through the first request link and forwards it to the first isolation module 305.
  • Processing module 303 information is generated by the second processing module 306 and sent to the second isolation module 305, and then the second isolation module 305 sends it to the first isolation module 304 through the first request link and forwards it to the first isolation module 305.
  • the second processing module 306 can actively configure the cache depth of the VC FIFO as required, thereby determining the number of times the second processing module 306 can send the first control information to the outside, thus reducing the chip area overhead.
  • the slave device receives a message from the master device (for example, the above-mentioned first power domain
  • the second isolation module in the slave device may also send a third notification request to the second processing module in the slave device, and the second processing module is in a state of stopping to the master device in response to the third notification request.
  • the state of sending control information and session response so as to avoid that the second processing module will still send control information and session response when the first response link is disconnected, but the control information and session response cannot be responded by the slave device. , which in turn causes the phenomenon that the bus hangs up in the power domain where the second processing module is located.
  • each time the first processing module 303 receives the third control information it accumulates the number of times the second session request is allowed to be sent; the target of the second session request is from The device is the second processing module 306; the second session request is a session request sent by the first processing module 303 to the first isolation module 304 through the fourth request link; the first isolation module 304 is further configured to pass the The second request link sends a fourth notification request to the first processing module 303 and sends the third control information through the fourth request link; the first processing module 303 is further configured to: respond to the fourth notification request , send the fourth control information to the first isolation module 304; receive the third control information, and accumulate the number of times the second session request is allowed to be sent; send the second session request to the first isolation module 304; the first The isolation module 304 is further configured to: receive the fourth control information, and accumulate the number of times that the second session response is allowed to be sent; the second session response is that the first isolation module 304 respond
  • the first processing module 303 responds to the fourth notification request sent by the first isolation module 304.
  • the first processing module 303 The accumulated number of times the session request is allowed to be sent is no longer kept zero at all times, and each time the first processing module 303 receives the third control information sent by the first isolation module 304, the number of times the second session request is allowed to be sent will be accumulated once.
  • the first processing module 303 can send the second session request through the fourth request link under abnormal conditions, and at this time, the first isolation module 304 Instead of the second processing module 306 responding to the session request, the session request is responded to.
  • the first processing module 303 may send the fourth control information through the second response link, and each time the first isolation module 304 receives the fourth control information sent by the first processing module 303, it will allow the sending of the second control information once. The number of session responses.
  • the first isolation module 304 may send the second session response through the second response link, and the first processing module 303 may receive the second session response at this time .
  • the second session response is sent to the first processing module 303 through the second response link.
  • the second session response mentioned above is a dummy dummy response, and the dummy dummy response can facilitate subsequent maintenance testing of the chip system.
  • the first processing module sends the second session request only when the accumulated number of times the first processing module is allowed to send the second session request is non-zero and the first processing module is abnormal, and the initial second session request
  • the target responding device is the second processing module 306, but because one of the first power domain or the second power domain needs to be powered off, and cannot perform cross-power domain interaction, the device that actually responds to the second session request is The first isolation module 304 .
  • the first isolation module 304 can actively configure the cache depth of the VC FIFO as required, thereby determining the number of times the first isolation module 304 can send the third control information to the outside, thus reducing the chip area overhead.
  • the first isolation module 304 may send a notification request to the first processing module 303, and the first processing module 303 responds to the notification request Afterwards, the accumulated number of times the session request is allowed to be sent in the first processing module 303 may no longer remain zero at all times, and if the first processing module 303 receives the control information, it starts accumulating the number of times the session request is allowed to be sent.
  • the first processing module 303 After the first processing module 303 receives the third control information sent by the first isolation module 304 through the fourth request link, and the accumulated number of times the session request is allowed to be sent is one, then the first processing module 303 under abnormal conditions The session request that should be sent to the second processing module 306 will be sent to the first isolation module 304 through the fourth request link, and the first processing module 303 will send an or a plurality of fourth control information, at this time, the first isolation module 304 responds to the session request and generates a corresponding session response, because the first isolation module 304 receives one or more of the first processing module 303 through the second response link If the fourth control information is sent, the number of times that the first isolation module 304 is allowed to send the session response is not zero, and the first isolation module 304 is in a state of allowing the session response to be sent.
  • the first isolation module 304 sends the generated session response to the first processing module 303 through the second response link.
  • the above-mentioned session response may be a dummy dummy response, and the dummy dummy response may facilitate subsequent maintenance testing of the chip system.
  • the slave device no longer receives data from the master device (for example, the above-mentioned first power domain).
  • the master device for example, the above-mentioned first power domain.
  • the master device may still send a session request to the slave device. Therefore, in this embodiment of the present invention, the session request that should have been sent to the disconnected slave device is sent to the power supply.
  • the first isolation module of the domain so as to avoid the situation that the session request hangs without a response, further, the first isolation module also informs the first processing module through the second session response that the session request sent by it has not been disconnected from the slave device. real response.
  • the first processing module in the master device also responds to the fourth notification request sent by the first isolation module in the master device.
  • the first processing module resumes and continues to accumulate the number of times that session requests are allowed to be sent, and the first processing module
  • the first processing module Each time the control information sent by the first isolation module is received, the number of times the session request is allowed to be sent will be accumulated.
  • the first processing module may send the session sending request that should be responded by the second processing module to the first isolation module.
  • the first isolation module receives the control information sent by the first processing module, the number of times the session response is allowed to be sent will be accumulated.
  • the first isolation module can send the session response, and at this time, the session request initiated by the first processing module can be responded to. Therefore, when one of the power domains of the master device or the slave device is powered off, the session request that the master device should have sent to the slave device in an abnormal situation is no longer sent to the disconnected slave device but to the first isolation device. module, so as to avoid the situation that the session request initiated by the master device cannot get the response from the slave device when the link between the master device and the slave device is disconnected. Power-off isolation protection.
  • FIG. 2C is a schematic diagram of a link of a power-off isolation device provided by an embodiment of the present invention.
  • the first isolation module 304 is further configured to receive a power-on request and pass The second request link sends a fifth notification request to the first processing module 303; the first processing module 303 is further configured to, in response to the fifth notification request, clear the accumulated number of times that the second session request is allowed to be sent, and Stop receiving the third control information to stop accumulating the number of times that the second session request is allowed to be sent; the first isolation module 304 is further configured to disconnect the communication with the first processing module 303 after responding to the fifth notification request.
  • the fourth request link between the first processing module 303 and the first request link with the second isolation module 305 are established.
  • the power manager of the chip system sends the power-on state to the first isolation module 304. request; when the second power domain is to change from the power-off state to the power-on state, if the first power domain is in the power-on state, the second power domain sends a power-on request to the first isolation module 304 .
  • the first isolation module 304 actively sends a fifth notification request to the first processing module 303, and the first processing module 303 responds to the fifth notification request and sends its accumulated permission to send the fifth notification request.
  • the number of second session requests is cleared and the third control information is no longer received, so that the accumulated number of times the second session request is allowed to be sent in the first processing module 303 remains zero, so that the first processing module 303 cannot send the session request to the outside world.
  • the first isolation module 304 will disconnect the fourth request link with the first processing module 303 and establish the first request link with the second isolation module 305 .
  • the first isolation module 304 disconnects the fourth request link, if the first processing module 303 is in the state of allowing the session request to be sent, the first processing module 303 can again Sending session requests, at this time, the first isolation module 304 no longer responds to these session requests, but forwards these session requests to the second isolation module 305 through the first request link, so that the session requests of the first processing module 303 can be obtained
  • the normal response realizes the isolation protection of the power domain.
  • the master device when one power domain of the master device or the slave device is powered on while the other power domain is always powered on, the master device no longer sends the session request that the second processing module responds to through the first The four-request link is sent to the first isolation module of this power domain to respond.
  • the first processing module After receiving the power-on request from the first isolation module of the slave device, it actively sends a fifth notification request to the first processing module of the master device, and the first processing module responds to the fifth notification request to accumulate its accumulated The number of times the session request is allowed to be sent is cleared and the control information is no longer received, so that the first processing module no longer accumulates the number of times the session request is allowed to be sent, thus ensuring that the first processing module cannot send the session request to the outside.
  • FIG. 2D is a schematic diagram of another power-off isolation device link provided by an embodiment of the present invention.
  • the first isolation module 304 is further configured to disconnect the first isolation device. After the four request links, send a sixth notification request to the first processing module 303 through the second request link; the first processing module 303 is further configured to stop sending the fourth notification request in response to the sixth notification request control information; the first isolation module 304 is further configured to disconnect the second response link with the first processing module 303 after the first processing module 303 responds to the sixth notification request, and establish and The first response link between the second isolation modules 305 .
  • the first processing module 303 initiates a plurality of second session requests under abnormal conditions before the first isolation module 304 disconnects the fourth request link mentioned above, and the first isolation module 304
  • the second session requests have been forwarded to the first isolation module 304 through the fourth request link, and the first isolation module 304 will respond to these second session requests and generate corresponding second session responses.
  • the fourth control information sent by the first processing module 303 is received before the power domain is powered on, so the accumulated number of times the second session response is allowed to be sent in the first isolation module 304 is non-zero, and the first isolation module 304 will generate the
  • the second session response is sequentially sent to the first processing module 303 through the second response link.
  • the first isolation module 304 sends a sixth notification request to the first processing module 303, and the first processing module 303 responds to the sixth notification. request, will stop sending the fourth control information, so that the first isolation module 304 can no longer receive new fourth control information and cannot continue to accumulate the number of times that the second session response is allowed to be sent.
  • the first isolation module 304 will disconnect the second response link with the first processing module 303, and establish a first response link with the second isolation module 305, so that the first response link is The session response generated by the isolation module 304 cannot be sent to the first processing module 303 from the above-mentioned second response link, so as to implement isolation protection for the power supply domain.
  • the first processing module 303 initiates two slave devices (for example, the second one in the second power domain mentioned above). processing module) response session requests, and the first isolation module 304 generates two corresponding session responses after receiving the two session requests and responding to the two session requests. If the first isolation module 304 receives three fourth control messages generated by the first processing module 303, and the accumulated number of times the first isolation module 304 is allowed to send session responses is three, the first isolation module 304 can send the first processing The module 303 returns a corresponding session response.
  • the first isolation module 303 After the first isolation module 303 returns the two session responses, the accumulated number of times the first isolation module 304 is allowed to send the session response is one, and the first isolation module 304 is still in the allowable state. The status of the sent session response.
  • the first isolation module 304 After the first processing module 303 responds to the sixth notification request sent by the first isolation module 304, the first isolation module 304 will disconnect the second response link with the first processing module 303, so that the first isolation module 304 cannot receive the new fourth control information, so the number of times that the first isolation module 304 is allowed to send a session response is kept as one.
  • the first isolation module no longer responds to the first processing module and should be processed by the second Session requests that the module responds to. Specifically, the first isolation module actively sends a sixth notification request to the first processing module, and after the first processing module stops sending control information to the first isolation module in response to the sixth notification request, it disconnects the first processing module from the first processing module.
  • the second response link between the isolation modules avoids the possibility that if the second response link is disconnected first and then stops sending control information, the first processing module still sends control information, but the control information cannot be responded to. , which further leads to the phenomenon that the bus hangs up in the power domain where the first processing module is located.
  • the first isolation module 304 is further configured to send a session permission request to the second isolation module 305 through the third request link; the second isolation module 305 is configured to use After receiving the session permission request, send a seventh notification request to the second processing module 306; the second processing module 306 is configured to, in response to the seventh notification request, allow the sending of the first control information and the sending of the first control information.
  • the state of the first session response; the second isolation module 305 is further configured to send permission to the first isolation module 304 through the third request link after the second processing module 306 responds to the seventh notification request Session response; the first isolation module 304 is further configured to receive the allow session response.
  • the first isolation module 304 may send a session permission request to the second isolation module 305 through the third request link, and the second After receiving the session permission request, the isolation module 305 can send a seventh notification request to the second processing module 306, and the second processing module 306 responds to the seventh notification request and is in the state of allowing the sending of the first control information and allowing the sending of the first session response. status.
  • the second isolation module 305 sends a session permission response to the first isolation module 304, indicating that the second processing module 306 is in a state of allowing the sending of the first control information and allowing the sending of the first session response.
  • the first processing module 303 initiates two slave devices (for example, the second one in the second power domain mentioned above). processing module), and the first isolation module 304 receives the two session requests that should be responded by the second processing module 306 and generates two corresponding session responses after responding to the two session requests. If the first isolation module 304 receives three fourth control messages generated by the first processing module 303, and the accumulated number of session responses allowed to be sent by the first isolation module 304 is three, the first isolation module 304 can send the first processing The module 303 returns the corresponding session response.
  • the first isolation module 303 After the first isolation module 303 returns the two session responses, the number of times the first isolation module 304 is allowed to send the session response is one, and the first isolation module 304 is still in the state of allowing the session response to be sent. state.
  • the first isolation module 304 When the first processing module 303 no longer sends the fourth control information, the first isolation module 304 will disconnect the second response link with the first processing module 303, so that the first isolation module 304 cannot receive new The fourth control information, so the accumulated number of times the session response is allowed to be sent by the first isolation module 304 remains as one.
  • the first isolation module 304 may send a session permission request to the second isolation module 305.
  • the second isolation module 305 After receiving the session permission request, the second isolation module 305 may send a seventh notification request to the second processing module 306.
  • the second processing module 306 In response to the seventh notification request, the second processing module 306 is in a state where the first control information can be resent and the session response is allowed to be sent. Next, the second isolation module 305 sends a session permission response to the first isolation module 304, indicating that the second processing module 306 is in a state where the first control information can be resent and the session response is permitted to be sent. It should be noted that the first control information is generated by the second processing module 306 and sent to the second isolation module 305, and then the second isolation module 305 sends it to the first isolation module 304 through the first request link and forwards it to the first isolation module 305. The signal of the processing module 303 .
  • the slave device receives a signal from the master device (for example, the above-mentioned first power supply domain). domain), a seventh notification request may be sent to the second processing module in the slave device, and the second processing module is in a state of allowing sending of control information and session response to the master device in response to the seventh notification request.
  • the slave device sends a session permission response to the master device, which means that the second processing module is in a state of allowing the sending of the first control information and allowing the sending of the first session response.
  • the first isolation module 304 is further configured to send an eighth notification request to the first processing module 303 through the second request link; the first processing module 303 is further configured to respond to the The eighth notification request, sending the second control information and the first session request; the second isolation module 305, configured to receive the second control information and the first session request, and send the second control information and the first session request.
  • the control information and the first session request are forwarded to the second processing module 306; the second processing module 306 is configured to: receive the second control information, and accumulate the number of times that the first session response is allowed to be sent; respond to the The first session request generates the first session response; sends the first session response; and the first processing module 303 is further configured to receive the first session response.
  • the first processing module 303 responds to the eighth notification request sent by the first isolation module 304.
  • the first processing module 303 The accumulated number of times the session request is allowed to be sent is no longer kept zero at all times, and the first processing module 303 accumulates the number of times the first session request is allowed to be sent each time it receives the first control information sent by the second processing module 306 .
  • the first processing module 303 can send the first session request through the first request link, and at this time, the second processing module 306 responds to the session request, Instead the first isolation module 304 responds to the session request.
  • the first processing module 303 can send the second control information through the first response link, and each time the second processing module 306 receives the second control information sent by the first processing module 303, it will allow the sending of the first The number of times the session responded.
  • the second processing module 306 may send the first session response through the first response link, and the first processing module 303 receives the first session response at this time. After the second processing module 306 responds to the first session request initiated by the first processing module 303 and generates a first session response, it sends the first session response to the first processing module 303 through the first response link, completing the A response to the session request initiated by the first processing module 303 .
  • the initial target slave device of the first session request and the second session request is the second processing module 306, but a power-off process needs to be performed in one of the first power domain or the second power domain In this case, the cross-power domain interaction cannot be performed, so that the device that actually responds to the second session request is the first isolation module 304 .
  • the second session response returned by the first isolation module 304 is used to notify the first processing module 303 that the session request has not received a response from the target slave device.
  • the first session response generated by the second processing module 306 is a response after the second processing module 306 completes the request according to the session request.
  • the first isolation module 304 may send a notification request to the first processing module 303, and the first processing module 303 responds to the notification request Afterwards, the accumulated number of times the session request is allowed to be sent in the first processing module 303 may no longer remain zero at all times, and if the first processing module 303 receives the control information, it starts accumulating the number of times the session request is allowed to be sent. After the first processing module 303 receives the first control information generated by the second processing module 306, and the accumulated number of times the first session request is allowed to be sent is one, the first processing module 303 can send the first session request through the first request link.
  • a first session request is sent to the second processing module 306, and the first processing module 303 will send one or more second control information to the second processing module 306 through the first response link.
  • the second processing module 306 responds In response to the first session request and the corresponding first session response is generated, since the second processing module 306 receives one or more second control information sent by the first processing module 303 through the first response link, in the second The number of times the session response is allowed to be sent in the processing module 306 is non-zero, and at this time, the second processing module 306 is in a state of allowing the session response to be sent.
  • the second processing module 306 sends the generated first session response to the first processing module 303 through the first response link to complete the cross-power domain interaction between the first power domain and the second power domain, avoiding the Packet loss and system-on-chip hang-up caused by power-on or power-off state changes.
  • the first isolation module no longer responds to the session request that should be responded by the slave device (for example, the second power domain mentioned above).
  • the session request initiated by the first processing module and responded by the slave device will be sent to the second processing module of the slave device for response.
  • the eighth notification request sent by the first isolation module in the master device the first processing module in the master device resumes and continues to accumulate the number of times the session request is allowed to be sent. Once the control information sent by the master device is received, the number of times the session request is allowed to be sent will be accumulated.
  • the first processing module may send the session request responded by the second processing module.
  • the second processing module of the slave device receives the control information sent by the first processing module, the number of times the session response is allowed to be sent will be accumulated.
  • the slave device can send the session response, and at this time, the session request initiated by the first processing module obtains the response from the slave device.
  • An isolation module responds by sending a response to the slave device, so that when the power domain is powered on, the power domain is prevented from hanging up, and the session is sent from the master device to the slave device while the power domain is isolated and protected.
  • the request can get a normal response.
  • FIG. 3 is a power domain boundary implementation provided by an embodiment of the present invention.
  • the first power domain 301 in FIGS. 2A-2D is the PD-A510 in FIG. 3
  • the second power domain 302 is the PD-B 520 in FIG. 3
  • the first processing module 303 is the PD-B 520 in FIG. 3
  • the first isolation module 304 is the PD_M 512 in FIG. 3
  • the second isolation module 305 is the PD_S 521 in FIG. 3
  • the second processing module 306 is the Slave 522 in FIG. 3
  • the first request link is For link 530 in FIG. 3
  • the first response link is link 531 in FIG. 3 . 540 in Fig.
  • the work flow of the power-off isolation device includes the work flow in the following four cases. in,
  • Step 1 The system power manager requests the power boundary between PD-A 510 and PD-B 520 to enter a power-down isolation state by setting pwrd_a_req in 550 to 1. It is characterized by sending a power-down request to the first isolation module 304 as mentioned above.
  • Step 2 When PD_M512 receives pwrd_a_req as 1, if the internal state records, PD-B520 has been in a power-down state, then go to Step 5, otherwise go to Step 3. It should be noted that, after the first isolation module 304 receives the power-down request, if the second power domain is in the power-down state, the power is directly powered off, and if the second power domain is in the power-on state, subsequent disconnection processing is required.
  • Step 3 PD_M 512 performs the following processing in sequence:
  • Step 3.1 Set pwrdm_tx(515) to 1, requesting that the Master 511 does not allow sending new requests through the link 513, and then set tx_crdt_cnt_x to 0 inside the Master 511 and keep it.
  • the first isolation module 304 sends the first notification request to the first processing module 303
  • the first processing module 303 responds to the first notification request, clears the accumulated number of times that the first session request is allowed to be sent, and Stop receiving the first control information to stop accumulating the number of times that the first session request is allowed to be sent.
  • Step 3.2 Wait for the responses corresponding to the requests sent through the link 513 to be returned through the link 514 .
  • Link 513 and link 514 are used to forward the session request initiated by Master 511 and the session response generated by Slave 522.
  • Step 3.3 Set pwrd_rx_req516 to 1 and request Master511 to set its internal rx_crdt_cnt_x to the reset value and keep it.
  • the first isolation module 304 sends the second notification request to the first processing module 303, and the first processing module 303 stops sending the second control information in response to the second notification request.
  • Step 3.4 Disconnect link 513 and link 530, disconnect link 514 and link 531, and connect link 513 and link 514 to the default slave device Default Slave in PD_M.
  • Step 3.5 Set pwrdm_tx515 and pwrd_rx_req516 to 0 at the same time, allow tx_crdt_cnt_x of Master 511 to receive credit, and allow it to send a request through link 513, and rx_crdt_cnt_x to send credit; subsequently, the request sent by Master 511 through link 513 is processed by Default Slave.
  • Link 514 returns Dummy's response, implementing power-down isolation protection.
  • the first isolation module 304 is further configured to send the fourth notification request to the first processing module 303 through the second request link and send the third control information through the fourth request link; the first processing The module 303 is further configured to, in response to the fourth notification request, send fourth control information to the first isolation module 304; receive the third control information, and accumulate the number of second session requests allowed to be sent; The second session request; the first isolation module 304 is further configured to receive the fourth control information and accumulate the number of times the second session response is allowed to be sent; the second session response is that the first isolation module 304 responds to the second session request and passes the second session request.
  • the response link sends the response to the first processing module 303; responds to the second session request and generates a second session response; sends the second session response to the first processing module 303; the first processing module 303 is further configured to receive the second session response Session response.
  • Step 3.6 Set conn_req540 to 1, notify PD_S521 to perform Slave522 side chain disconnection processing, and go to Step 4.
  • the first isolation module 304 is further configured to send a session suspension request to the second isolation module 305 through the third request link.
  • Step 4 After PD_S521 performs the following processing in parallel, go to Step 5
  • Step 4.1 Set pwrds_rx525 to 1, request Slave522 to set its rx_crdt_cnt_x to the reset value, do not allow to return credit, and keep it. Its characteristics correspond to the above-mentioned, the second isolation module 305 is configured to send a third notification request to the second processing module 306 after receiving the session suspension request; the second processing module 306 is configured to respond to the third notification request and be in The state of stopping sending the first control information.
  • Step 4.2 Set pwrds_tx526 to 1, request Slave522 to set its internal tx_crdt_cnt_x to 0, and keep it. Its characteristics correspond to the above-mentioned, the second processing module 306 is used to respond to the third notification request, stop sending the state of the first session response; the first session response is that the second processing module 306 responds to the first session request and passes The first response link sends the response to the first processing module 303 .
  • Step 4.3 Set conn_ack540 to 1; corresponding to the above-mentioned, the second isolation module 305 is also used to send the request to the first isolation module 304 through the third request link after the second processing module 306 responds to the third notification request Send a suspend session response.
  • Step 5 PD_M512 sets pwrd_a_ack550 to 1 to complete the power-down process.
  • Step 1 The system power manager requests the power boundary between PD-A 510 and PD-B 520 to enter the power-on state by setting pwrd_a_req in 550 to 0.
  • the first isolation module 304 is configured to receive a power-on request.
  • Step 2 When PD_M512 receives pwrd_a_req as 0, if the internal state records, PD-B520 has been in a power-down state, then go to Step 5, otherwise go to Step 3. It should be noted that, after the first isolation module 304 receives the power-on request, if the second power domain is in a power-down state, the power is directly powered on, and if the second power domain is in a power-on state, subsequent link establishment processing is required.
  • Step 3 PD_M 512 performs the following processing in sequence:
  • Step 3.1 Set pwrdm_tx515 to 1, requesting Master 511 not to send new requests through link 513, and then set tx_crdt_cnt_x to 0 inside Master 511 and keep it. Its characteristics correspond to the above-mentioned, the first isolation module 304 sends the fifth notification request to the first processing module 303, and the first processing module 303, in response to the fifth notification request, clears the accumulated number of times that the second session request is allowed to be sent, and Stop receiving the third control information to stop accumulating the number of times that the second session request is allowed to be sent.
  • Step 3.2 Wait for the responses corresponding to the requests sent through the link 513 to be returned through the link 514 .
  • Step 3.3 Set pwrd_rx_req516 to 1 and request Master511 to set its internal rx_crdt_cnt_x to the reset value and keep it. Its characteristics correspond to the above-mentioned, after disconnecting the fourth request link, the first isolation module 304 sends the sixth notification request to the first processing module 303 through the second request link; the first processing module 303 responds to The sixth notification request is to stop sending the fourth control information.
  • Step 3.4 Disconnect the link 513 and link 514 from the Default Slave, and set the rx_crdt_cnt_x on the RX side of the Default Slave connected to the link 513 to the reset value, and do not allow to return credit, and connect the TX to the link 514
  • the tx_crdt_cnt_x of the side is set to 0; the link 513 is connected to the link 530, and the link 514 is connected to the link 531.
  • the first isolation module 304 disconnects the fourth request link with the first processing module 303, and establishes the first request link with the second isolation module 305; the first isolation module 304 disconnects the second response link with the first processing module 303 and establishes the first response link with the second isolation module 305 .
  • Step 3.5 Set pwrdm_tx515 to 0, allow tx_crdt_cnt_x of Master511 to receive credit, and allow it to send requests through link 513.
  • Step 3.6 Set conn_req540 to 1, notify PD_S521 to perform Slave522 side chain construction, and go to Step 4.
  • the first isolation module 304 sends a session permission request to the second isolation module 305 through the third request link.
  • Step 4 After PD_S521 performs the following processing in parallel, go to Step 6:
  • Step 4.1 Set pwrds_rx525 to 0, allowing Slave522 to return its internal rx_crdt_cnt_x to credit.
  • the feature corresponds to the above-mentioned, after the second isolation module 305 receives the session permission request, it sends the seventh notification request to the second processing module 306; Control information and status that allows the first session response to be sent.
  • Step 4.2 Set pwrds_tx526 to 0, allow Slave522 to return a response through its internal link 524, and allow tx_crdt_cnt_x in Slave522 to receive credit.
  • Step 4.3 Set conn_ack540 to 1.
  • the second isolation module 305 sends a session permission response to the first isolation module 304 through the third request link.
  • Step 5 PD_M512 sets pwrd_a_ack550 to 0 to complete the power-on process.
  • Step 6 After PD_M512 performs the following processing, go to Step 5:
  • Step 6.1 Set pwrd_rx_req516 to 0 to allow rx_crdt_cnt_x to send credit.
  • Step 1 The system power manager requests the power boundary between PD-A 510 and PD-B 520 to enter a power-down isolation state by setting pwrd_b_req in 560 to 1.
  • Step 2 When PD_S521 receives pwrd_b_req as 1, if the internal state records, PD-A510 has been in a power-down state, then go to step 5, otherwise set slv_pwron to 0, and go to step 3;
  • Step 3 PD_M 512 performs the following processing in sequence:
  • Step 3.1 Set pwrdm_tx515 to 1, requesting Master 511 not to send new requests through link 513, and then set tx_crdt_cnt_x to 0 inside Master 511 and keep it.
  • Step 3.2 Wait for the response corresponding to the request sent through the link 513 to be returned through the link 514;
  • Step 3.3 Set pwrd_rx_req516 to 1 and request Master511 to set its internal rx_crdt_cnt_x to the reset value and keep it.
  • Step 3.4 Disconnect link 513 and link 530, disconnect link 514 and link 531, connect link 513 and link 514 with Default Slave in PD_M 512;
  • Step 3.5 Set pwrdm_tx515 and pwrd_rx_req516 to 0 at the same time, allow tx_crdt_cnt_x of Master 511 to receive credit, and allow it to send a request through link 513, and rx_crdt_cnt_x to send credit; subsequently, the request sent by Master 511 through link 513 is processed by Default Slave.
  • Link 514 returns Dummy's response, implementing power-down isolation protection.
  • Step 3.6 Set conn_req540 to 1, notify PD_S521 to perform Slave522 side chain disconnection processing, and go to Step 4.
  • Step 4 After PD_S521 performs the following processing in parallel, go to Step 5:
  • Step 4.1 Set pwrds_rx525 to 1, request Slave522 to set its internal rx_crdt_cnt_x to the reset value, do not allow to return credit, and keep it.
  • Step 4.2 Set pwrds_tx526 to 1, request Slave522 to set its internal tx_crdt_cnt_x to 0, and keep it.
  • Step 4.3 Set conn_ack540 to 1.
  • Step 5 PD_M512 sets pwrd_b_ack560 to 1 to complete the power-down process.
  • Step 1 The system power manager requests the power boundary between PD-A 510 and PD-B 520 to enter the power-on state by setting pwrd_b_req in 560 to 0.
  • Step 2 When PD_S521 receives pwrd_b_req as 0, if the internal state records, PD-A510 has been powered down, then go to Step 5, otherwise set slv_pwron to 1, and go to Step 3.
  • Step 3 PD_M 512 performs the following processing in sequence:
  • Step 3.1 Set pwrdm_tx515 to 1, requesting Master 511 not to send new requests through link 513, and then set tx_crdt_cnt_x to 0 inside Master 511 and keep it.
  • Step 3.2 Wait for the responses corresponding to the requests sent through the link 513 to be returned through the link 514 .
  • Step 3.3 Set pwrd_rx_req516 to 1 and request Master511 to set its internal rx_crdt_cnt_x to the reset value and keep it.
  • Step 3.4 Disconnect the link 513 and link 514 from the Default Slave, and set the rx_crdt_cnt_x on the RX side of the Default Slave connected to the link 513 to the reset value, and do not allow to return credit, and connect the TX to the link 514
  • the tx_crdt_cnt_x of the side is set to 0; the link 513 is connected to the link 530, and the link 514 is connected to the link 531.
  • Step 3.5 Set pwrdm_tx515 to 0, allow tx_crdt_cnt_x of Master 511 to receive credit, and allow it to send requests through link 513;
  • Step 3.6 Set conn_req540 to 1, notify PD_S521 to perform Slave522 side chain construction, and go to Step 4;
  • Step 4 After PD_S521 performs the following processing in parallel, it enters Step 5 and Step 6 in parallel:
  • Step 4.1 Set pwrds_rx525 to 0, allowing Slave522 to return its internal rx_crdt_cnt_x to credit;
  • Step 4.2 Set pwrds_tx526 to 0, allow Slave522 to return a response through link 524link, and allow tx_crdt_cnt_x in Slave522 to receive credit;
  • Step 4.3 Set conn_ack540 to 1.
  • Step 5 PD_S521 sets pwrd_b_ack560 to 0 to complete the power-on process.
  • Step 6 After PD_M512 is processed as follows:
  • Step 6.1 Set pwrd_rx_req516 to 0 to allow rx_crdt_cnt_x to send credit;
  • FIG. 4A is a schematic flowchart of a power-off isolation method provided by an embodiment of the present invention.
  • the method is applicable to any of the power-off isolation devices in the above-mentioned FIGS. 2A to 2D and includes the power-off isolation device. device equipment.
  • the method may include the following steps S401-S403.
  • the power-off isolation device includes a first power domain and a second power domain; the first power domain includes a first isolation module and a first processing module; the second power domain includes a second isolation module; the first processing module
  • Each time the first control information is received, the number of times that the first session request is allowed to be sent is accumulated once; session request. in:
  • Step S401 after receiving the power-down request, the first isolation module sends a first notification request to the first processing module through the second request link;
  • Step S402 the first processing module, in response to the first notification request, clears the accumulated number of times the first session request is allowed to be sent, and stops receiving the first control information to stop accumulating the number of times that the first session request is allowed to be sent;
  • Step S403 After the first processing module responds to the first notification request, the first isolation module disconnects the first request link with the second isolation module.
  • the target slave device of the first session request is the second processing module included in the second power domain; each time the second processing module receives the second control information, the Accumulate the number of times that the first session response is allowed to be sent; the first session response is the response that the second processing module sends to the first processing module through the first response link in response to the first session request;
  • the method further includes: after disconnecting the first request link through the first isolation module, sending a second notification request to the first processing module through the second request link; A processing module stops sending the second control information in response to the second notification request; the first isolation module disconnects the first processing module from the second notification request after the first processing module responds to the second notification request the first response link between the second isolation modules.
  • the method further includes: sending a session suspension request to the second isolation module through the first isolation module through a third request link; receiving the session suspension request through the second isolation module After the session request is suspended, a third notification request is sent to the second processing module; in response to the third notification request, the second processing module is in a state of stopping sending the first control information and stopping sending the first the status of the session response; after the second processing module responds to the third notification request, the second isolation module sends a suspend session response to the first isolation module through the third request link; through The first isolation module receives the suspend session response.
  • each time the first processing module receives the third control information the number of times the second session request is allowed to be sent is accumulated once;
  • the target slave device of the second session request is the first two processing modules;
  • the second session request is a session request sent by the first processing module to the first isolation module through a fourth request link;
  • the method further includes: passing through the first isolation module through the the second request link sends a fourth notification request to the first processing module and sends the third control information through the fourth request link; and responds to the fourth notification request through the first processing module , sending fourth control information to the first isolation module; receiving the third control information, and accumulating the number of times the second session request is allowed to be sent; sending the second session request to the first isolation module;
  • the fourth control information is received by the first isolation module, and the number of times the second session response is allowed to be sent is accumulated;
  • the second session response is that the first isolation module responds to the second session request and passes the second session response.
  • the second response link sends the response to the first processing module
  • the method further includes: after receiving the power-on request through the first isolation module, sending a fifth notification request to the first processing module through the second request link;
  • the first processing module in response to the fifth notification request, clears the accumulated number of times that the second session request is allowed to be sent, and stops receiving the third control information to stop accumulating the number of times that the second session request is allowed to be sent. number of times; after the first processing module responds to the fifth notification request, the first isolation module disconnects the fourth request link with the first processing module, and establishes a link with the first processing module. the first request link between the second isolation modules.
  • the method further includes: after disconnecting the fourth request link, through the first isolation module, sending a message to the first processing module through the second request link a sixth notification request; in response to the sixth notification request by the first processing module, stop sending the fourth control information; in response to the sixth notification request in the first processing module by the first isolation module After the request is notified, the second response link with the first processing module is disconnected, and the first response link with the second isolation module is established.
  • the method further includes: sending a session permission request to the second isolation module through the third request link through the first isolation module; receiving through the second isolation module After the session request is allowed, a seventh notification request is sent to the second processing module; in response to the seventh notification request, the second processing module is in the process of allowing the sending of the first control information and allowing the sending of the The state of the first session response; after the second processing module responds to the seventh notification request through the second isolation module, a session permission response is sent to the first isolation module through the third request link ; Receive the allowed session response by the first isolation module.
  • the method further includes: sending, by the first isolation module, an eighth notification request to the first processing module through the second request link; In response to the eighth notification request, the second control information and the first session request are sent; the second control information and the first session request are received by the second isolation module, and the The second control information and the first session request are forwarded to the second processing module; the second control information is received by the second processing module, and the number of times that the first session response is allowed to be sent is accumulated; generating the first session response from the first session request; sending the first session response; and receiving the first session response through the first processing module.
  • FIG. 4B is a schematic diagram of a user interface for using an application provided by an embodiment of the present invention.
  • a power-off isolation device provided by an embodiment of the present invention is applied to an electronic device.
  • the relevant description of the power-off isolation device reference may be made to the relevant descriptions in FIG. 2A to FIG. 2D above, which will not be repeated here.
  • the user interface 71 in FIG. 4B when the user wants to run a social application installed on the electronic device, such as WeChat
  • the user can click WeChat through the input device of the electronic device such as the display screen icon 701.
  • the user interface 72 please refer to the user interface 72.
  • the user is prompted to log in to WeChat by filling in the account number and password.
  • the application interface is the user interface 73 . Assuming that the user clicks the chat window with user Arvin, if the storage module storing the chat record is in a power-off state, a flashback will appear to enter the user interface 71 at this time.
  • the electronic device can be avoided. A crash when accessing a powered-down module.
  • the present application provides a semiconductor chip, which may include the power-off isolation device involved in any one of the implementation manners of the first aspect.
  • the present application provides a chip system, where the chip system includes the power-off isolation device involved in any one of the implementation manners of the first aspect above.
  • the chip system may be composed of chips, or may include chips and other discrete devices.
  • the present application provides an electronic device, including a processor and a memory, wherein the memory is used for storing program codes, and the processor is used for calling the program codes stored in the memory to execute any one of the above-mentioned first aspects.
  • the power-off isolation device involved in the method.
  • the present application provides a system-on-chip SoC chip, where the SoC chip includes the power-off isolation device involved in any one of the implementation manners of the first aspect.
  • the SoC chip may be composed of chips, or may include chips and other discrete devices.
  • the present application provides a storage device having the function of implementing any one of the power-off isolation methods in the second aspect above.
  • This function can be implemented by hardware or by executing corresponding software by hardware.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the present application provides a terminal, where the terminal includes a host, and the host includes the power-off isolation device involved in any one of the implementation manners of the above-mentioned first aspect.
  • the terminal may also include a communication interface for the terminal to communicate with other devices or a communication network.
  • the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a storage device, implements the flow of the power-off isolation method according to any one of the second aspect above.
  • An embodiment of the present invention provides a computer program, where the computer program includes instructions, when the computer program is executed by a storage device, the storage device can execute the flow of the power-off isolation method described in any one of the second aspect above.
  • the disclosed apparatus may be implemented in other manners.
  • the device embodiments described above are only illustrative.
  • the division of the above-mentioned units is only a logical function division.
  • multiple units or components may be combined or integrated. to another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical or other forms.
  • the units described above as separate components may or may not be physically separated, and components shown as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated units are implemented in the form of software functional units and sold or used as independent products, they may be stored in a computer-readable storage medium.
  • the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc., specifically a processor in the computer device) to execute all or part of the steps of the foregoing methods in the various embodiments of the present application.
  • a computer device which may be a personal computer, a server, or a network device, etc., specifically a processor in the computer device
  • the aforementioned storage medium may include: U disk, mobile hard disk, magnetic disk, optical disk, Read-Only Memory (Read-Only Memory, abbreviation: ROM) or Random Access Memory (Random Access Memory, abbreviation: RAM), etc.
  • a medium that can store program code may include: U disk, mobile hard disk, magnetic disk, optical disk, Read-Only Memory (Read-Only Memory, abbreviation: ROM) or Random Access Memory (Random Access Memory, abbreviation: RAM), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Power Sources (AREA)
  • Computer And Data Communications (AREA)

Abstract

The present application discloses a power-down isolation device. The power-down isolation device comprises a first power domain and a second power domain, the first power domain comprises a first isolation module and a first processing module, and the second power domain comprises a second isolation module. Each time the first processing module receives first control information, the first processing module accumulates the number of times that a first session request is allowed to be sent, the first session request being a session request forwarded by the first isolation module to the second isolation module by means of a first request link; after receiving a power-down request, the first isolation module sends a first notification request to the first processing module by means of a second request link; in response to the first notification request, the first processing module clears the accumulated number of times that the first session request is allowed to be sent, and stops receiving the first control information to stop accumulating the number of times that the first session request is allowed to be sent; and the first isolation module disconnects the first request link between the first isolation module and the second isolation module. By using the present application, power-down isolation protection can be performed on a power domain.

Description

一种掉电隔离装置及相关方法A power-off isolation device and related method 技术领域technical field
本申请涉及半导体技术领域,尤其涉及一种掉电隔离装置及相关方法。The present application relates to the field of semiconductor technology, and in particular, to a power-down isolation device and related methods.
背景技术Background technique
随着半导体工艺技术步入纳米阶段,在单一芯片中集成上亿晶体管已经成为现实。目前,在单片系统芯片(System On Chip,SOC)上可以集成数十甚至更多的处理器,但相较于传统的总线结构无法有效支持越来越多的处理器,而片上网络(Network On Chip,NOC)就是用于解决多处理器互联最有效的方案。As semiconductor process technology enters the nanometer stage, it has become a reality to integrate hundreds of millions of transistors in a single chip. At present, dozens or more processors can be integrated on a single-chip system-on-chip (SOC), but compared with the traditional bus structure, it cannot effectively support more and more processors. On Chip, NOC) is the most effective solution for multi-processor interconnection.
NOC是指在单芯片上集成大量的计算资源以及连接这些资源的片上通信网络,在NOC中包括了多个子网络,且这些子网络之间可通过NOC总线实现互联,其中每个子网络还可包括多个不同功能的子系统(例如音频系统等)。然而,为了降低片上网络的功耗,根据不同的功能的子系统将NOC总线拆分至不同的电源域,其中不同的电源域可根据业务场景进行独立的上电和下电。但在实际设计过程中发现,当一个未掉电的电源域直接访问另一个掉电的电源域会导致芯片系统挂死(例如,在早期样片调试阶段,若中央处理器CPU访问到掉电的电源域则对应的响应不能返回,导致CPU无法正常工作),且芯片系统挂死后无法再进行清场和维测(例如,某个NOC片上网络挂死,导致芯片在复位重启前无法记录下芯片挂死时刻的关键信息,因此异常问题难以定位)。NOC refers to the integration of a large number of computing resources on a single chip and an on-chip communication network that connects these resources. The NOC includes multiple sub-networks, and these sub-networks can be interconnected through the NOC bus. Each sub-network can also include Multiple subsystems with different functions (such as audio systems, etc.). However, in order to reduce the power consumption of the on-chip network, the NOC bus is split into different power domains according to different functional subsystems, and different power domains can be powered on and off independently according to business scenarios. However, in the actual design process, it is found that when a power domain that is not powered off directly accesses another power domain that is powered off, it will cause the chip system to hang up (for example, in the early sample debugging stage, if the central processing unit CPU accesses the powered off In the power domain, the corresponding response cannot be returned, causing the CPU to not work properly), and the chip system cannot be cleared and maintenance tests can be performed after the system hangs up (for example, the on-chip network of a NOC hangs up, causing the chip to fail to record the chip before reset and restart). The key information at the moment of hang-up, so the abnormal problem is difficult to locate).
因此,如何实现对电源域进行掉电隔离保护是亟待解决的问题。Therefore, how to implement power-off isolation protection for the power domain is an urgent problem to be solved.
发明内容SUMMARY OF THE INVENTION
本发明实施例提供一种掉电隔离装置及相关方法,以实现对电源域进行掉电隔离保护。Embodiments of the present invention provide a power-off isolation device and a related method, so as to implement power-off isolation protection for a power supply domain.
第一方面,本发明实施例提供一种掉电隔离装置,其特征在于,包括:所述掉电隔离装置包括第一电源域和第二电源域;所述第一电源域包括第一隔离模块和第一处理模块;所述第二电源域包括第二隔离模块;所述第一处理模块每接收到一次第一控制信息,则累计一次允许发送第一会话请求的次数;所述第一会话请求为由所述第一隔离模块通过第一请求链路转发至所述第二隔离模块的会话请求;所述第一隔离模块,用于接收掉电请求后,通过第二请求链路向所述第一处理模块发送第一通知请求;所述第一处理模块,用于响应于所述第一通知请求,清除累计的所述允许发送第一会话请求的次数,并停止接收所述第一控制信息以停止累计所述允许发送第一会话请求的次数;所述第一隔离模块,还用于在所述第一处理模块响应于所述第一通知请求后,断开与所述第二隔离模块之间的所述第一请求链路。In a first aspect, an embodiment of the present invention provides a power-off isolation device, characterized in that: the power-off isolation device includes a first power domain and a second power domain; the first power domain includes a first isolation module and a first processing module; the second power domain includes a second isolation module; each time the first processing module receives the first control information, it accumulates the number of times the first session request is allowed to be sent; the first session The request is a session request forwarded by the first isolation module to the second isolation module through the first request link; the first isolation module is configured to, after receiving the power-down request, send the request to the second isolation module through the second request link. The first processing module sends a first notification request; the first processing module is configured to, in response to the first notification request, clear the accumulated number of times that the first session request is allowed to be sent, and stop receiving the first session request. control information to stop accumulating the number of times that the first session request is allowed to be sent; the first isolation module is further configured to disconnect from the second session request after the first processing module responds to the first notification request The first request link between modules is isolated.
在本发明实施例中,掉电隔离装置中的主设备和从设备基于虚拟通道(Virtual Channel,VC)进行传输通信,当主设备(例如上述提及的第一电源域)接收到由从设备(例如上述提及的第二电源域)发送的一次或多次控制信息后,主设备会累计一次或多次允许发送会话请求的次数,该允许发送会话请求的次数非零时,表示允许主设备发送会话请求,并不意味着主设备就会立即发送会话请求,而是当主设备需要向从设备发送会话请求时,主设备向从设备每发送一次会话请求,允许发送会话请求的次数就减少一次,直到允许发送会话请求的次数为零时,则主设备停止发送会话请求。基于上述,本发明实施例通过对掉电 隔离装置中的主设备的第一隔离模块进行改进,当主设备或者从设备其中一个电源域掉电的情况下,使得在异常情况下本该发送至从设备(例如上述提及的第二电源域)的会话请求不再发送给即将断链的从设备,避免出现丢包和总线挂死现象,从而实现对电源域进行掉电隔离保护。具体地,在主设备的第一隔离模块接收到掉电请求后,主动向主设备的第一处理模块发送第一通知请求,而第一处理模块则响应于该第一通知请求将其累计的允许发送会话请求的次数清零并且不再接收新的控制信息,使得在第一处理模块中累计的允许发送会话请求的次数保持为零,然后再断开第一隔离模块与第二隔离模块之间的第一请求链路,从而实现断开主设备与从设备的会话请求链路,因而在确保了主设备的第一处理模块无法向外发送会话请求的情况下,再断开对应的第一请求链路,从而避免了若先断开第一请求链路再清零则可能导致的此时第一处理模块上仍然会发出本该由从设备(例如上述提及的第二电源域)响应的会话请求,但该会话请求无法得到从设备的响应,进而导致第一处理模块所在的电源域出现总线挂死现象。In this embodiment of the present invention, the master device and the slave device in the power-off isolation device perform transmission and communication based on a virtual channel (Virtual Channel, VC). For example, after the second power domain mentioned above has sent one or more control information, the master device will accumulate one or more times the number of times the session request is allowed to be sent. Sending a session request does not mean that the master device will immediately send a session request, but when the master device needs to send a session request to a slave device, the number of times the master device is allowed to send a session request is reduced by one each time it sends a session request to the slave device. , until the number of times allowed to send session requests is zero, the master device stops sending session requests. Based on the above, the embodiments of the present invention improve the first isolation module of the master device in the power-off isolation device, so that when one of the power domains of the master device or the slave device is powered off, it should be sent to the slave device under abnormal conditions. The session request of the device (for example, the second power domain mentioned above) is no longer sent to the slave device that is about to be disconnected, so as to avoid packet loss and bus hang, so as to implement power-off isolation protection for the power domain. Specifically, after the first isolation module of the master device receives the power-down request, it actively sends a first notification request to the first processing module of the master device, and the first processing module responds to the first notification request to accumulate its accumulated The number of times the session request is allowed to be sent is cleared and no new control information is received, so that the accumulated number of times the session request is allowed to be sent in the first processing module remains zero, and then the first isolation module and the second isolation module are disconnected. The first request link between the master device and the slave device is disconnected, so that when the first processing module of the master device cannot send a session request to the outside, the corresponding first request link is disconnected. A request link, so as to avoid the possibility that if the first request link is disconnected first and then cleared, the first processing module will still send out the slave device (such as the second power domain mentioned above) However, the session request cannot get a response from the slave device, which leads to the bus hang phenomenon in the power domain where the first processing module is located.
在一种可能的实现方式中,所述第一会话请求的目标响应设备为所述第二电源域中包括的第二处理模块;所述第二处理模块每接收到一次第二控制信息,则累计一次允许发送第一会话响应的次数;所述第一会话响应为所述第二处理模块响应于所述第一会话请求且通过第一响应链路发送至所述第一处理模块的响应;所述第一隔离模块,还用于在断开所述第一请求链路之后,通过所述第二请求链路向所述第一处理模块发送第二通知请求;所述第一处理模块,还用于响应于所述第二通知请求,停止发送所述第二控制信息;所述第一隔离模块,还用于在所述第一处理模块响应于所述第二通知请求后,断开与所述第二隔离模块之间的所述第一响应链路。In a possible implementation manner, the target responding device of the first session request is the second processing module included in the second power domain; each time the second processing module receives the second control information, the Accumulate the number of times that the first session response is allowed to be sent; the first session response is the response that the second processing module sends to the first processing module through the first response link in response to the first session request; The first isolation module is further configured to send a second notification request to the first processing module through the second request link after disconnecting the first request link; the first processing module, is further configured to stop sending the second control information in response to the second notification request; the first isolation module is further configured to disconnect after the first processing module responds to the second notification request the first response link with the second isolation module.
本发明实施例中,掉电隔离装置中的主设备(例如上述提及的第一电源域)和从设备(例如上述提及的第二电源域)基于虚拟通道进行传输通信,当从设备接收到由主设备发送的一次或多次控制信息后,从设备会累计一次或多次允许发送会话响应的次数,该允许发送会话响应的次数非零时,表示允许从设备发送会话请求,并不意味着从设备就会立即发送会话请求,而是当从设备需要向主设备发送会话请求时,从设备向主设备每发送一次会话响应,允许发送会话响应的次数就减少一次,直到允许发送会话响应的次数为零时,则从设备停止发送会话响应。基于上述,若在主设备的第一隔离模块断开上述提及的第一请求链路后,第一隔离模块还主动向第一处理模块发送第二通知请求,而第一处理模块响应于第二通知请求将停止向从设备发送控制信息,之后再断开第一隔离模块与第二隔离模块之间的第一响应链路,避免了若先断开第一响应链路再停止发送控制信息则可能导致的此时第一处理模块仍然发出控制信息,但该控制信息无法得到从设备的响应,进而导致第一处理模块所在的电源域出现总线挂死的现象。In this embodiment of the present invention, the master device (for example, the above-mentioned first power supply domain) and the slave device (for example, the above-mentioned second power supply domain) in the power-off isolation device perform transmission communication based on the virtual channel. After one or more times of control information sent by the master device, the slave device will accumulate one or more times the number of times the session response is allowed to be sent. It means that the slave device will send a session request immediately, but when the slave device needs to send a session request to the master device, each time the slave device sends a session response to the master device, the number of times the session response is allowed to be sent is reduced by one, until the session is allowed to be sent. When the number of responses is zero, the slave device stops sending session responses. Based on the above, if after the first isolation module of the master device disconnects the first request link mentioned above, the first isolation module also actively sends a second notification request to the first processing module, and the first processing module responds to the first request The second notification request will stop sending control information to the slave device, and then disconnect the first response link between the first isolation module and the second isolation module, avoiding the need to first disconnect the first response link and then stop sending control information. In this case, the first processing module may still send control information, but the control information cannot be responded by the slave device, which may lead to the phenomenon that the bus hangs up in the power domain where the first processing module is located.
在一种可能的实现方式中,所述第一隔离模块,还用于通过第三请求链路向所述第二隔离模块发送暂停会话请求;所述第二隔离模块,用于接收所述暂停会话请求后,向所述第二处理模块发送第三通知请求;所述第二处理模块,用于响应于所述第三通知请求,处于停止发送所述第一控制信息和停止发送所述第一会话响应的状态;所述第二隔离模块,还用于在所述第二处理模块响应于所述第三通知请求后,通过所述第三请求链路向所述第一隔离模块发送暂停会话响应;所述第一隔离模块,还用于接收所述暂停会话响应。In a possible implementation manner, the first isolation module is further configured to send a session suspension request to the second isolation module through a third request link; the second isolation module is configured to receive the suspension session After the session request, send a third notification request to the second processing module; the second processing module is configured to, in response to the third notification request, stop sending the first control information and stop sending the first control information. A state of a session response; the second isolation module is further configured to send a pause to the first isolation module through the third request link after the second processing module responds to the third notification request A session response; the first isolation module is further configured to receive the session suspension response.
在本发明实施例中,在断开上述第一请求链路和第一响应链路后,从设备(例如上述提及的第二电源域)接收到由主设备(例如上述提及的第一电源域)发送的暂停会话请求后,从设备中的第二隔离模块还可向从设备中的第二处理模块发送第三通知请求,第二处理模块响应于第三通知请求处于停止向主设备发送控制信息和会话响应的状态,从而避免了断开第一响应链路后第二处理模块异常情况下仍然会发出控制信息和会话响应,但该控制信息和该会话响应无法得到从设备的响应,进而导致第二处理模块所在的电源域出现总线挂死的现象。In this embodiment of the present invention, after the above-mentioned first request link and the first response link are disconnected, the slave device (for example, the above-mentioned second power domain) receives a message from the master device (for example, the above-mentioned first power domain After the suspend session request sent by the power domain), the second isolation module in the slave device may also send a third notification request to the second processing module in the slave device, and the second processing module is in a state of stopping to the master device in response to the third notification request. The state of sending control information and session response, so as to avoid that the second processing module will still send control information and session response when the first response link is disconnected, but the control information and session response cannot be responded by the slave device. , which in turn causes the phenomenon that the bus hangs up in the power domain where the second processing module is located.
在一种可能的实现方式中,所述第一处理模块每接收到一次第三控制信息,则累计一次允许发送第二会话请求的次数;所述第二会话请求的目标响应设备为所述第二处理模块;所述第二会话请求为所述第一处理模块通过第四请求链路发送至所述第一隔离模块的会话请求;所述第一隔离模块,还用于通过所述第二请求链路向所述第一处理模块发送第四通知请求和通过所述第四请求链路发送所述第三控制信息;所述第一处理模块,还用于:响应于所述第四通知请求,向所述第一隔离模块发送第四控制信息;接收所述第三控制信息,并累计所述允许发送第二会话请求的次数;向所述第一隔离模块发送所述第二会话请求;所述第一隔离模块,还用于:接收所述第四控制信息,并累计允许发送第二会话响应的次数;所述第二会话响应为所述第一隔离模块响应于所述第二会话请求且通过第二响应链路发送至所述第一处理模块的响应;响应于所述第二会话请求并生成所述第二会话响应;向所述第一处理模块发送所述第二会话响应;所述第一处理模块,还用于接收所述第二会话响应。In a possible implementation manner, each time the first processing module receives the third control information, the number of times that the second session request is allowed to be sent is accumulated once; the target responding device of the second session request is the first Two processing modules; the second session request is a session request sent by the first processing module to the first isolation module through a fourth request link; the first isolation module is further configured to pass the second The request link sends a fourth notification request to the first processing module and sends the third control information through the fourth request link; the first processing module is further configured to: respond to the fourth notification request, send fourth control information to the first isolation module; receive the third control information, and accumulate the number of times that the second session request is allowed to be sent; send the second session request to the first isolation module ; The first isolation module is further configured to: receive the fourth control information, and accumulate the number of times the second session response is allowed to be sent; the second session response is that the first isolation module responds to the second session response a response to a session request and sent to the first processing module through a second response link; responding to the second session request and generating the second session response; sending the second session to the first processing module response; the first processing module is further configured to receive the second session response.
在本发明实施例中,在断开第一请求链路和第一响应链路后,从设备(例如上述提及的第二电源域)不再接收到由主设备(例如上述提及的第一电源域)发起的会话请求,但在异常情况下,主设备依旧可能向从设备发送会话请求,因此本发明实施例中将本该发送至已断链的从设备的会话请求发送给本电源域的第一隔离模块,进而避免会话请求无响应而挂死的情况,进一步,该第一隔离模块还通过第二会话响应通知第一处理模块其发出的会话请求未得到断链的从设备的真实响应。具体地,主设备中的第一处理模块还响应于由主设备中的第一隔离模块发送的第四通知请求,此时第一处理模块恢复继续累计允许发送会话请求的次数,第一处理模块每接收到一次由第一隔离模块发送的控制信息,会累计一次允许发送会话请求的次数。在允许发送会话请求的次数非零且主设备出现异常的情况下,第一处理模块可向第一隔离模块发送本该由第二处理模块响应的送会话请求。接下来,第一隔离模块每接收到一次由第一处理模块发送的控制信息,会累计一次允许发送会话响应的次数。在第一隔离模块中的允许发送会话响应的次数非零的情况下,第一隔离模块可发送会话响应,此时第一处理模块发起的会话请求能够得到响应。因此,在主设备或者从设备其中一个电源域掉电的情况下,使得在异常情况下主设备本该发给从设备的会话请求不再发送给已断链的从设备而是发送给第一隔离模块,从而避免了在主设备与从设备断链的情况下由主设备发起的会话请求无法得到从设备的响应导致主设备所处的电源域出现总线挂死的情况,从而实现对电源域进行掉电隔离保护。In this embodiment of the present invention, after the first request link and the first response link are disconnected, the slave device (for example, the second power domain mentioned above) no longer receives data from the master device (for example, the above-mentioned first power domain). A session request initiated by a power supply domain), but in an abnormal situation, the master device may still send a session request to the slave device. Therefore, in this embodiment of the present invention, the session request that should have been sent to the disconnected slave device is sent to the power supply. The first isolation module of the domain, so as to avoid the situation that the session request hangs without a response, and further, the first isolation module also informs the first processing module through the second session response that the session request sent by it has not been disconnected from the slave device. real response. Specifically, the first processing module in the master device also responds to the fourth notification request sent by the first isolation module in the master device. At this time, the first processing module resumes and continues to accumulate the number of times that session requests are allowed to be sent, and the first processing module Each time the control information sent by the first isolation module is received, the number of times the session request is allowed to be sent will be accumulated. In the case that the number of times the session request is allowed to be sent is non-zero and the master device is abnormal, the first processing module may send the session sending request that should be responded by the second processing module to the first isolation module. Next, each time the first isolation module receives the control information sent by the first processing module, the number of times the session response is allowed to be sent will be accumulated. In the case that the number of times the session response is allowed to be sent in the first isolation module is non-zero, the first isolation module can send the session response, and at this time, the session request initiated by the first processing module can be responded to. Therefore, when one of the power domains of the master device or the slave device is powered off, the session request that the master device should have sent to the slave device in an abnormal situation is no longer sent to the disconnected slave device but to the first device. Isolate the module, thus avoiding the situation where the bus hangs in the power domain where the master device is located due to the fact that the session request initiated by the master device cannot get the response from the slave device when the link between the master device and the slave device is disconnected. Power-off isolation protection.
在一种可能的实现方式中,所述第一隔离模块,还用于接收上电请求后,通过所述第二请求链路向所述第一处理模块发送第五通知请求;所述第一处理模块,还用于响应于所 述第五通知请求,清除累计的所述允许发送第二会话请求的次数,并停止接收所述第三控制信息以停止累计所述允许发送第二会话请求的次数;所述第一隔离模块,还用于在所述第一处理模块响应于所述第五通知请求后,断开与所述第一处理模块之间的所述第四请求链路,并建立与所述第二隔离模块之间的所述第一请求链路。In a possible implementation manner, the first isolation module is further configured to send a fifth notification request to the first processing module through the second request link after receiving the power-on request; the first The processing module is further configured to, in response to the fifth notification request, clear the accumulated number of times that the second session request is allowed to be sent, and stop receiving the third control information to stop accumulating the number of times that the second session request is allowed to be sent. number of times; the first isolation module is further configured to disconnect the fourth request link with the first processing module after the first processing module responds to the fifth notification request, and establishing the first request link with the second isolation module.
本发明实施例中,在主设备或者从设备其中一个电源域上电而另一个电源域一直处于上电状态的情况下,使得主设备不再将本该第二处理模块响应的会话请求通过第四请求链路发送给本电源域的第一隔离模块进行响应。具体地,在主设备的第一隔离模块接收到上电请求后,主动向从设备的第一处理模块发送第五通知请求,而第一处理模块则响应于该第五通知请求将其累计的允许发送会话请求的次数清零并且不再接收控制信息,使得在第一处理模块不再累计的允许发送会话请求的次数,因而在确保了第一处理模块无法向外发送会话请求的情况下,再断开第一处理模块与第一隔离模块之间的第四请求链路并建立第一隔离模块与第二隔离模块之间的第一请求链路,从而避免了若先断开第四请求链路再清零则可能导致的此时第一处理模块上仍然会发出会话请求,但该会话请求无法得到响应,进而导致第一处理模块所在的电源域出现总线挂死现象。In this embodiment of the present invention, when one power domain of the master device or the slave device is powered on while the other power domain is always powered on, the master device no longer sends the session request that the second processing module responds to through the first The four-request link is sent to the first isolation module of this power domain to respond. Specifically, after the first isolation module of the master device receives the power-on request, it actively sends a fifth notification request to the first processing module of the slave device, and the first processing module responds to the fifth notification request to accumulate its accumulated The number of times the session request is allowed to be sent is cleared and the control information is no longer received, so that the number of times the first processing module is allowed to send the session request is no longer accumulated, thus ensuring that the first processing module cannot send the session request to the outside. Then disconnect the fourth request link between the first processing module and the first isolation module and establish the first request link between the first isolation module and the second isolation module, so as to avoid disconnecting the fourth request first If the link is cleared again, a session request may still be issued on the first processing module at this time, but the session request cannot be responded to, thereby causing a bus hang phenomenon in the power domain where the first processing module is located.
在一种可能的实现方式中,所述第一隔离模块,还用于在断开所述第四请求链路之后,通过所述第二请求链路向所述第一处理模块发送第六通知请求;所述第一处理模块,还用于响应于所述第六通知请求,停止发送所述第四控制信息;所述第一隔离模块,还用于在所述第一处理模块响应于所述第六通知请求后,断开与所述第一处理模块之间的所述第二响应链路,并建立与所述第二隔离模块之间的所述第一响应链路。In a possible implementation manner, the first isolation module is further configured to send a sixth notification to the first processing module through the second request link after disconnecting the fourth request link request; the first processing module is further configured to stop sending the fourth control information in response to the sixth notification request; the first isolation module is further configured to respond to the After the sixth notification request is made, the second response link with the first processing module is disconnected, and the first response link with the second isolation module is established.
本发明实施例中,若在主设备的第一隔离模块断开上述提及的第四求链路后,此时第一隔离模块不再响应由第一处理模块发起且本该由第二处理模块响应的会话请求。具体地,第一隔离模块主动向第一处理模块发送第六通知请求,而第一处理模块响应于第六通知请求停止向第一隔离模块发送控制信息后,再断开第一处理模块与第一隔离模块之间的第二响应链路,避免了若先断开第二响应链路再停止发送控制信息则可能导致的此时第一处理模块仍然发出控制信息,但该控制信息无法得到响应,进而导致第一处理模块所在的电源域出现总线挂死的现象。In this embodiment of the present invention, if after the first isolation module of the master device disconnects the above-mentioned fourth link, the first isolation module no longer responds to the first processing module and should be processed by the second Session requests that the module responds to. Specifically, the first isolation module actively sends a sixth notification request to the first processing module, and after the first processing module stops sending control information to the first isolation module in response to the sixth notification request, it disconnects the first processing module from the first processing module. The second response link between the isolation modules avoids the possibility that if the second response link is disconnected first and then stops sending control information, the first processing module still sends control information, but the control information cannot be responded to. , which further leads to the phenomenon that the bus hangs up in the power domain where the first processing module is located.
在一种可能的实现方式中,所述第一隔离模块,还用于通过所述第三请求链路向所述第二隔离模块发送允许会话请求;所述第二隔离模块,用于接收所述允许会话请求后,向所述第二处理模块发送第七通知请求;所述第二处理模块,用于响应于所述第七通知请求,处于允许发送所述第一控制信息和允许发送所述第一会话响应的状态;所述第二隔离模块,还用于在所述第二处理模块响应于所述第七通知请求后,通过所述第三请求链路向所述第一隔离模块发送允许会话响应;所述第一隔离模块,还用于接收所述允许会话响应。In a possible implementation manner, the first isolation module is further configured to send a session permission request to the second isolation module through the third request link; the second isolation module is configured to receive all After the session permission request is made, send a seventh notification request to the second processing module; the second processing module is configured to respond to the seventh notification request, in the process of allowing the sending of the first control information and allowing the sending of all the state of the first session response; the second isolation module is further configured to send the first isolation module to the first isolation module through the third request link after the second processing module responds to the seventh notification request sending a session permission response; the first isolation module is further configured to receive the session permission response.
在本发明实施例中,在断开第四请求链路和第二响应链路后,从设备(例如上述提及的第二电源域)接收到由主设备(例如上述提及的第一电源域)发送的允许会话请求后,可向从设备中的第二处理模块发送第七通知请求,第二处理模块响应于第七通知请求处于允许向主设备发送控制信息和会话响应的状态。接下来从设备在向主设备发送允许会话响应,表示在第二处理模块已处于允许发送第一控制信息和允许发送第一会话响应的状态。In this embodiment of the present invention, after the fourth request link and the second response link are disconnected, the slave device (for example, the above-mentioned second power domain) receives a signal from the master device (for example, the above-mentioned first power supply domain). domain), a seventh notification request may be sent to the second processing module in the slave device, and the second processing module is in a state of allowing sending of control information and session response to the master device in response to the seventh notification request. Next, the slave device sends a session permission response to the master device, which means that the second processing module is in a state of allowing the sending of the first control information and allowing the sending of the first session response.
在一种可能的实现方式中,所述第一隔离模块,还用于通过所述第二请求链路向所述 第一处理模块发送第八通知请求;所述第一处理模块,还用于响应于所述第八通知请求,发送所述第二控制信息和所述第一会话请求;所述第二隔离模块,用于接收所述第二控制信息和所述第一会话请求,并将所述第二控制信息和所述第一会话请求转发至所述第二处理模块;所第二处理模块,用于:接收所述第二控制信息,并累计所述允许发送第一会话响应的次数;响应于所述第一会话请求生成所述第一会话响应;发送所述第一会话响应;所述第一处理模块,还用于接收所述第一会话响应。In a possible implementation manner, the first isolation module is further configured to send an eighth notification request to the first processing module through the second request link; the first processing module is further configured to In response to the eighth notification request, send the second control information and the first session request; the second isolation module is configured to receive the second control information and the first session request, and send the second control information and the first session request The second control information and the first session request are forwarded to the second processing module; the second processing module is configured to: receive the second control information, and accumulate the data that are allowed to send the first session response. generating the first session response in response to the first session request; sending the first session response; the first processing module is further configured to receive the first session response.
在本发明实施例中,在断开第四请求链路和第二响应链路后,第一隔离模块不再响应本该由从设备(例如上述提及的第二电源域)响应的会话请求,此时在第一处理模块发起且由从设备响应的会话请求,会发送到从设备的第二处理模块进行响应。具体地,主设备中的第一处理模块响应于由主设备中的第一隔离模块发送的第八通知请求,此时第一处理模块恢复继续累计允许发送会话请求的次数,第一处理模块每接收到一次由主设备发送的控制信息,会累计一次允许发送会话请求的次数。在第一处理模块中的允许发送会话请求的次数非零的情况下,第一处理模块可发送由第二处理模块响应的会话请求。接下来,从设备的第二处理模块每接收到一次由第一处理模块发送的控制信息,会累计一次允许发送会话响应的次数。在从设备中的允许发送会话响应的次数非零的情况下,从设备可发送会话响应,此时第一处理模块发起的会话请求得到从设备的响应。因此,在主设备或者从设备其中一个电源域上电而另一个电源域一直处于上电状态的情况下,使得主设备的本该发给从设备的会话请求不再发送给已断链的第一隔离模块进行响应而是发送给从设备进行响应,从而使得在电源域上电的情况下,避免了电源域挂死,实现了对电源域进行隔离保护的同时主设备向从设备发送的会话请求能够得到正常的响应。In this embodiment of the present invention, after the fourth request link and the second response link are disconnected, the first isolation module no longer responds to the session request that should be responded by the slave device (for example, the second power domain mentioned above). , the session request initiated by the first processing module and responded by the slave device will be sent to the second processing module of the slave device for response. Specifically, in response to the eighth notification request sent by the first isolation module in the master device, the first processing module in the master device resumes and continues to accumulate the number of times the session request is allowed to be sent. Once the control information sent by the master device is received, the number of times the session request is allowed to be sent will be accumulated. In the case that the number of times the session request is allowed to be sent in the first processing module is non-zero, the first processing module may send the session request responded by the second processing module. Next, each time the second processing module of the slave device receives the control information sent by the first processing module, the number of times the session response is allowed to be sent will be accumulated. In the case that the number of times that the slave device is allowed to send the session response is non-zero, the slave device can send the session response, and at this time, the session request initiated by the first processing module obtains the response from the slave device. Therefore, when one power domain of the master device or the slave device is powered on while the other power domain is always powered on, the session request that the master device should have sent to the slave device is no longer sent to the disconnected second power domain. An isolation module responds and sends a response to the slave device, so that when the power domain is powered on, the power domain is prevented from hanging up, and the session is sent from the master device to the slave device while the power domain is isolated and protected. The request can get a normal response.
第二方面,本发明实施例提供一种掉电隔离方法,其特征在于,应用于掉电隔离装置,所述掉电隔离装置包括第一电源域和第二电源域;所述第一电源域包括第一隔离模块和第一处理模块;所述第二电源域包括第二隔离模块;所述第一处理模块每接收到一次第一控制信息,则累计一次允许发送第一会话请求的次数;所述第一会话请求为由所述第一隔离模块通过第一请求链路转发至所述第二隔离模块的会话请求;所述方法,包括:通过所述第一隔离模块接收掉电请求后,通过第二请求链路向所述第一处理模块发送第一通知请求;通过所述第一处理模块响应于所述第一通知请求,清除累计的所述允许发送第一会话请求的次数,并停止接收所述第一控制信息以停止累计所述允许发送第一会话请求的次数;通过所述第一隔离模块在所述第一处理模块响应于所述第一通知请求后,断开与所述第二隔离模块之间的所述第一请求链路。In a second aspect, an embodiment of the present invention provides a power-off isolation method, which is characterized in that it is applied to a power-off isolation device, and the power-off isolation device includes a first power supply domain and a second power supply domain; the first power supply domain It includes a first isolation module and a first processing module; the second power domain includes a second isolation module; each time the first processing module receives the first control information, it accumulates the number of times that the first session request is allowed to be sent; The first session request is a session request forwarded by the first isolation module to the second isolation module through the first request link; the method includes: after receiving the power-down request through the first isolation module , sending a first notification request to the first processing module through the second request link; in response to the first notification request, the first processing module clears the accumulated number of times that the first session request is allowed to be sent, and stop receiving the first control information to stop accumulating the number of times that the first session request is allowed to be sent; through the first isolation module, after the first processing module responds to the first notification request, disconnect the the first request link between the second isolation modules.
在一种可能的实现方式中,所述第一会话请求的目标从设备为所述第二电源域中包括的第二处理模块;所述第二处理模块每接收到一次第二控制信息,则累计一次允许发送第一会话响应的次数;所述第一会话响应为所述第二处理模块响应于所述第一会话请求且通过第一响应链路发送至所述第一处理模块的响应;所述方法还包括:通过所述第一隔离模块在断开所述第一请求链路之后,通过所述第二请求链路向所述第一处理模块发送第二通知请求;通过所述第一处理模块响应于所述第二通知请求,停止发送所述第二控制信息;通过所述第一隔离模块在所述第一处理模块响应于所述第二通知请求后,断开与所述第二 隔离模块之间的所述第一响应链路。In a possible implementation manner, the target slave device of the first session request is the second processing module included in the second power domain; each time the second processing module receives the second control information, the Accumulate the number of times that the first session response is allowed to be sent; the first session response is the response that the second processing module sends to the first processing module through the first response link in response to the first session request; The method further includes: after disconnecting the first request link through the first isolation module, sending a second notification request to the first processing module through the second request link; A processing module stops sending the second control information in response to the second notification request; the first isolation module disconnects the first processing module from the second notification request after the first processing module responds to the second notification request the first response link between the second isolation modules.
在一种可能的实现方式中,所述方法还包括:通过所述第一隔离模块通过第三请求链路向所述第二隔离模块发送暂停会话请求;通过所述第二隔离模块接收所述暂停会话请求后,向所述第二处理模块发送第三通知请求;通过所述第二处理模块响应于所述第三通知请求,处于停止发送所述第一控制信息和停止发送所述第一会话响应的状态;通过所述第二隔离模块在所述第二处理模块响应于所述第三通知请求后,通过所述第三请求链路向所述第一隔离模块发送暂停会话响应;通过所述第一隔离模块接收所述暂停会话响应。In a possible implementation manner, the method further includes: sending a session suspension request to the second isolation module through the first isolation module through a third request link; receiving the session suspension request through the second isolation module After the session request is suspended, a third notification request is sent to the second processing module; in response to the third notification request, the second processing module is in a state of stopping sending the first control information and stopping sending the first the status of the session response; after the second processing module responds to the third notification request, the second isolation module sends a suspend session response to the first isolation module through the third request link; through The first isolation module receives the suspend session response.
在一种可能的实现方式中,所述第一处理模块每接收到一次第三控制信息,则累计一次允许发送第二会话请求的次数;所述第二会话请求的目标从设备为所述第二处理模块;所述第二会话请求为所述第一处理模块通过第四请求链路发送至所述第一隔离模块的会话请求;所述方法还包括:通过所述第一隔离模块通过所述第二请求链路向所述第一处理模块发送第四通知请求和通过所述第四请求链路发送所述第三控制信息;通过所述第一处理模块响应于所述第四通知请求,向所述第一隔离模块发送第四控制信息;接收所述第三控制信息,并累计所述允许发送第二会话请求的次数;向所述第一隔离模块发送所述第二会话请求;通过所述第一隔离模块接收所述第四控制信息,并累计允许发送第二会话响应的次数;所述第二会话响应为所述第一隔离模块响应于所述第二会话请求且通过第二响应链路发送至所述第一处理模块的响应;响应于所述第二会话请求并生成所述第二会话响应;向所述第一处理模块发送所述第二会话响应;通过所述第一处理模块接收所述第二会话响应。In a possible implementation manner, each time the first processing module receives the third control information, the number of times the second session request is allowed to be sent is accumulated once; the target slave device of the second session request is the first two processing modules; the second session request is a session request sent by the first processing module to the first isolation module through a fourth request link; the method further includes: passing through the first isolation module through the the second request link sends a fourth notification request to the first processing module and sends the third control information through the fourth request link; and responds to the fourth notification request through the first processing module , sending fourth control information to the first isolation module; receiving the third control information, and accumulating the number of times the second session request is allowed to be sent; sending the second session request to the first isolation module; The fourth control information is received by the first isolation module, and the number of times the second session response is allowed to be sent is accumulated; the second session response is that the first isolation module responds to the second session request and passes the second session response. The second response link sends the response to the first processing module; responds to the second session request and generates the second session response; sends the second session response to the first processing module; The first processing module receives the second session response.
在一种可能的实现方式中,所述方法还包括:通过所述第一隔离模块接收上电请求后,通过所述第二请求链路向所述第一处理模块发送第五通知请求;通过所述第一处理模块响应于所述第五通知请求,清除累计的所述允许发送第二会话请求的次数,并停止接收所述第三控制信息以停止累计所述允许发送第二会话请求的次数;通过所述第一隔离模块在所述第一处理模块响应于所述第五通知请求后,断开与所述第一处理模块之间的所述第四请求链路,并建立与所述第二隔离模块之间的所述第一请求链路。In a possible implementation manner, the method further includes: after receiving the power-on request through the first isolation module, sending a fifth notification request to the first processing module through the second request link; The first processing module, in response to the fifth notification request, clears the accumulated number of times that the second session request is allowed to be sent, and stops receiving the third control information to stop accumulating the number of times that the second session request is allowed to be sent. number of times; after the first processing module responds to the fifth notification request, the first isolation module disconnects the fourth request link with the first processing module, and establishes a link with the first processing module. the first request link between the second isolation modules.
在一种可能的实现方式中,所述方法还包括:通过所述第一隔离模块在断开所述第四请求链路之后,通过所述第二请求链路向所述第一处理模块发送第六通知请求;通过所述第一处理模块响应于所述第六通知请求,停止发送所述第四控制信息;通过所述第一隔离模块在所述第一处理模块响应于所述第六通知请求后,断开与所述第一处理模块之间的所述第二响应链路,并建立与所述第二隔离模块之间的所述第一响应链路。In a possible implementation manner, the method further includes: after disconnecting the fourth request link, through the first isolation module, sending a message to the first processing module through the second request link a sixth notification request; in response to the sixth notification request by the first processing module, stop sending the fourth control information; in response to the sixth notification request in the first processing module by the first isolation module After the request is notified, the second response link with the first processing module is disconnected, and the first response link with the second isolation module is established.
在一种可能的实现方式中,所述方法还包括:通过所述第一隔离模块通过所述第三请求链路向所述第二隔离模块发送允许会话请求;通过所述第二隔离模块接收所述允许会话请求后,向所述第二处理模块发送第七通知请求;通过所述第二处理模块响应于所述第七通知请求,处于允许发送所述第一控制信息和允许发送所述第一会话响应的状态;通过所述第二隔离模块在所述第二处理模块响应于所述第七通知请求后,通过所述第三请求链路向所述第一隔离模块发送允许会话响应;通过所述第一隔离模块接收所述允许会话响应。In a possible implementation manner, the method further includes: sending a session permission request to the second isolation module through the third request link through the first isolation module; receiving through the second isolation module After the session request is allowed, a seventh notification request is sent to the second processing module; in response to the seventh notification request, the second processing module is in the process of allowing the sending of the first control information and allowing the sending of the The state of the first session response; after the second processing module responds to the seventh notification request through the second isolation module, a session permission response is sent to the first isolation module through the third request link ; Receive the allowed session response by the first isolation module.
在一种可能的实现方式中,所述方法还包括:通过所述第一隔离模块通过所述第二请求链路向所述第一处理模块发送第八通知请求;通过所述第一处理模块响应于所述第八通 知请求,发送所述第二控制信息和所述第一会话请求;通过所述第二隔离模块接收所述第二控制信息和所述第一会话请求,并将所述第二控制信息和所述第一会话请求转发至所述第二处理模块;通过所第二处理模块接收所述第二控制信息,并累计所述允许发送第一会话响应的次数;响应于所述第一会话请求生成所述第一会话响应;发送所述第一会话响应;通过所述第一处理模块接收所述第一会话响应。In a possible implementation manner, the method further includes: sending, by the first isolation module, an eighth notification request to the first processing module through the second request link; In response to the eighth notification request, the second control information and the first session request are sent; the second control information and the first session request are received by the second isolation module, and the The second control information and the first session request are forwarded to the second processing module; the second control information is received by the second processing module, and the number of times that the first session response is allowed to be sent is accumulated; generating the first session response from the first session request; sending the first session response; and receiving the first session response through the first processing module.
第三方面,本申请提供一种半导体芯片,可包括上述第一方面中的任意一种实现方式所涉及的掉电隔离装置。In a third aspect, the present application provides a semiconductor chip, which may include the power-off isolation device involved in any one of the implementation manners of the above-mentioned first aspect.
第四方面,本申请提供了一种芯片系统,该芯片系统包括上述第一方面中的任意一种实现方式所涉及的掉电隔离装置。该芯片系统,可以由芯片构成,也可以包含芯片和其它分立器件。In a fourth aspect, the present application provides a chip system, where the chip system includes the power-off isolation device involved in any one of the implementation manners of the first aspect. The chip system may be composed of chips, or may include chips and other discrete devices.
第五方面,本申请提供一种电子设备,包括处理器和存储器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码来执行上述第一方面中的任意一种实现方式所涉及的掉电隔离装置。In a fifth aspect, the present application provides an electronic device, including a processor and a memory, wherein the memory is used to store program codes, and the processor is used to call the program codes stored in the memory to execute the above-mentioned first aspect. The power-off isolation device involved in any implementation manner.
第六方面,本申请提供一种片上系统SoC芯片,该SoC芯片包括上述第一方面中的任意一种实现方式所涉及的掉电隔离装置。该SoC芯片,可以由芯片构成,也可以包含芯片和其他分立器件。In a sixth aspect, the present application provides a system-on-a-chip SoC chip, where the SoC chip includes the power-off isolation device involved in any one of the implementation manners of the above-mentioned first aspect. The SoC chip may be composed of chips, or may include chips and other discrete devices.
第七方面,本申请提供一种存储设备,该存储设备具有实现上述第二方面中的任意一种掉电隔离方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。In a seventh aspect, the present application provides a storage device having the function of implementing any one of the power-off isolation methods in the second aspect above. This function can be implemented by hardware or by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above functions.
第八方面,本申请提供一种终端,该终端包括主机,该主机包括上述第一方面中的任意一种实现方式所涉及的掉电隔离装置。该终端还可以包括通信接口,用于该终端与其它设备或通信网络通信。In an eighth aspect, the present application provides a terminal, where the terminal includes a host, and the host includes the power-off isolation device involved in any one of the implementation manners of the foregoing first aspect. The terminal may also include a communication interface for the terminal to communicate with other devices or a communication network.
第九方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,该计算机程序被存储设备执行时实现上述第二方面中任意一项所述的掉电隔离方法的流程。In a ninth aspect, the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a storage device, implements the power-off isolation described in any one of the second aspect above method flow.
第十方面,本发明实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被存储设备执行时,使得存储设备可以执行上述第二方面中任意一项所述的掉电隔离方法的流程。In a tenth aspect, an embodiment of the present invention provides a computer program, where the computer program includes instructions, when the computer program is executed by a storage device, the storage device can perform the power-off isolation described in any one of the second aspects above method flow.
附图说明Description of drawings
图1A为本发明实施例提供的一种片上网络结构示意图。FIG. 1A is a schematic structural diagram of an on-chip network according to an embodiment of the present invention.
图1B为本发明实施例提供的另一种片上网络结构示意图。FIG. 1B is a schematic diagram of another on-chip network structure provided by an embodiment of the present invention.
图1C为本发明实施例提供的一种会话传输方式示意图。FIG. 1C is a schematic diagram of a session transmission manner provided by an embodiment of the present invention.
图1D为本发明实施例提供的一种会话请求示意图。FIG. 1D is a schematic diagram of a session request provided by an embodiment of the present invention.
图2A为本发明实施例提供的一种掉电隔离装置示意图。FIG. 2A is a schematic diagram of a power-off isolation device according to an embodiment of the present invention.
图2B为本发明实施例提供的另一种掉电隔离装置示意图。FIG. 2B is a schematic diagram of another power-off isolation device provided by an embodiment of the present invention.
图2C为本发明实施例提供的一种掉电隔离装置链路示意图。FIG. 2C is a schematic diagram of a link of a power-off isolation device according to an embodiment of the present invention.
图2D为本发明实施例提供的另一种掉电隔离装置链路示意图。FIG. 2D is a schematic diagram of another power-off isolation device link provided by an embodiment of the present invention.
图3为本发明实施例提供的一种电源域边界实现掉电隔离保护处理装置的设计结构示意图。FIG. 3 is a schematic structural diagram of a design of a power-domain boundary implementation of a power-off isolation protection processing device according to an embodiment of the present invention.
图4A是本发明实施例提供的一种掉电隔离方法的流程示意图。FIG. 4A is a schematic flowchart of a power-off isolation method provided by an embodiment of the present invention.
图4B为本发明实施例提供的一种用户使用应用用户界面示意图。FIG. 4B is a schematic diagram of a user interface for using an application by a user according to an embodiment of the present invention.
具体实施方式Detailed ways
下面将结合本发明实施例中的附图,对本发明实施例进行描述。本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。The embodiments of the present invention will be described below with reference to the accompanying drawings in the embodiments of the present invention. The terms "first", "second", "third" and "fourth" in the description and claims of the present application and the drawings are used to distinguish different objects, rather than to describe a specific order . Furthermore, the terms "comprising" and "having", and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units is not limited to the listed steps or units, but optionally also includes unlisted steps or units, or optionally also includes For other steps or units inherent to these processes, methods, products or devices. Reference herein to an "embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the present application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor a separate or alternative embodiment that is mutually exclusive of other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信息与其它系统交互的互联网)的信息通过本地和/或远程进程来通信。The terms "component", "module", "system" and the like are used in this specification to refer to a computer-related entity, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a computing device and the computing device may be components. One or more components may reside within a process and/or thread of execution, and a component may be localized on one computer and/or distributed between 2 or more computers. In addition, these components can execute from various computer readable media having various data structures stored thereon. A component may, for example, be based on information having one or more data packets (such as data from two components interacting with another component between a local system, a distributed system, and/or a network, such as the Internet through which information interacts with other systems) Communicate through local and/or remote processes.
以下对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。Some terms in this application are explained below to facilitate the understanding of those skilled in the art.
(1)片上网络(Network On Chip,NOC),是单片系统芯片(System On Chip,SoC)的一种新的通信方法,它是多核技术的主要组成部分。NoC方法带来了一种全新的片上通信方法,显著优于传统总线式系统(bus)的性能。(1) Network On Chip (NOC) is a new communication method of single-chip system chip (System On Chip, SoC), which is the main component of multi-core technology. The NoC approach brings a whole new approach to on-chip communication that significantly outperforms traditional bus-based systems (bus).
(2)电源域(Power Domain),许多新的SoC设计时必须集成很多功能并且要达到非常低的功耗,即设计中可能会有划分很多时钟域,电源域和复位域。电源域就是为总的电源划分的区域,方便进行系统的验证的同时还可以降低系统功耗。例如,调制解调器(MODEM)子系统、音频子系统、传感器子系统等,这些子系统在SoC设计中时独立供电的,当这些子系统不工作时,可以关断子系统的供电,可以节省功耗。比如MODEM子系统在飞行模式下,可以将其断电以降低芯片的能耗,但此时音频子系统依然可以播放音乐处于上电状态。一般情况下,电源域按照SoC的功能区域来划分。(2) Power Domain, many new SoC designs must integrate many functions and achieve very low power consumption, that is, there may be many clock domains, power domains and reset domains in the design. The power domain is an area divided for the total power supply, which facilitates system verification and reduces system power consumption. For example, the modem (MODEM) subsystem, audio subsystem, sensor subsystem, etc., these subsystems are independently powered in the SoC design. When these subsystems are not working, the power supply of the subsystems can be turned off, which can save power consumption . For example, when the MODEM subsystem is in airplane mode, it can be powered off to reduce the power consumption of the chip, but at this time, the audio subsystem can still play music and be powered on. In general, the power domain is divided according to the functional area of SoC.
基于上述提出的技术问题,为了便于理解本发明实施例,下面先对本发明实施例所基于的系统架构进行描述。本申请提供一种片上网络结构,请参见图1A,图1A为本发明实施例提供的一种片上网络结构示意图,该片上网络20可以位于任意一个电子设备中,如电脑、计算机、手机、平板等各类设备中。该片上网络20具体可以是芯片或芯片组或搭载有芯片或者芯片组的电路板。该芯片或芯片组或搭载有芯片或芯片组的电路板可在必要的软件驱动下工作。在图1A中片上网络20包括第一子系统201、第二子系统202、初始桥203、路由模块204、目标桥205,其中Based on the technical problems raised above, in order to facilitate understanding of the embodiments of the present invention, the system architecture on which the embodiments of the present invention are based is first described below. The present application provides an on-chip network structure. Please refer to FIG. 1A . FIG. 1A is a schematic diagram of an on-chip network structure provided by an embodiment of the present invention. The on-chip network 20 may be located in any electronic device, such as a computer, a computer, a mobile phone, and a tablet. and other equipment. The network-on-chip 20 may specifically be a chip or a chip set or a circuit board on which the chip or the chip set is mounted. The chip or chip set or the circuit board on which the chip or chip set is mounted can be driven by necessary software. In FIG. 1A, the network-on-chip 20 includes a first subsystem 201, a second subsystem 202, an initial bridge 203, a routing module 204, and a target bridge 205, wherein
第一子系统201由第一电源域提供功率的功能模块,第一电源域在逻辑电路中具有独立上电和独立下电的功能。当第一电源域上电时,可为第一子系统201供电,确保第一子系统201能够正常的工作;当第一电源域下电时,将不会再向第一子系统201供电,第一子系统201将处于停止工作状态。The first subsystem 201 is a functional module that provides power from a first power domain, and the first power domain has the functions of independent power-on and independent power-off in the logic circuit. When the first power domain is powered on, it can supply power to the first subsystem 201 to ensure that the first subsystem 201 can work normally; when the first power domain is powered off, it will no longer supply power to the first subsystem 201, The first subsystem 201 will be in a stop working state.
第二子系统202由第二电源域提供功率的功能模块,第二电源域在逻辑电路中具有独立上电和独立下电的功能。当第二电源域上电时,可为第二子系统202供电,确保第二子系统202能够正常的工作;当第二电源域下电时,将不会再向第二子系统202供电,第二子系统202将处于停止工作状态。The second subsystem 202 is a functional module that provides power from a second power domain, and the second power domain has functions of independent power-on and independent power-off in the logic circuit. When the second power domain is powered on, it can supply power to the second subsystem 202 to ensure that the second subsystem 202 can work normally; when the second power domain is powered off, it will no longer supply power to the second subsystem 202, The second subsystem 202 will be in a shutdown state.
在第一子系统201和第二子系统202中可包括一个或多个初始桥203,初始桥203为对接设备接口协议转换为片上网络NOC内部网络接口协议的协议转换桥。在一种情况下,初始桥203与主设备(如图形处理器GPU等)相连,由于主设备和NOC内部网络的接口协议不同,所以当信号从主设备输出时,会在初始桥203中进行信号协议转换,使得信号进入NOC内部网络。在另一种情况下,当两个不同的NOC跨NOC互联时,例如NOC0访问NOC1,NOC1的初始桥与NOC0的目标桥相连,由于两个NOC有独立的NOC总线,所以两个不同的NOC之间不能直接进行信号传输,此时,信号从目标桥输出前在目标桥中根据协议规则进行信号的协议转换,并且目标桥将协议转换后的信号传输给NOC1的初始桥,然后初始桥会根据接收到的信号再做一次协议转换,使得信号能够进入到NOC1内部网络,从而实现跨NOC互联。One or more initial bridges 203 may be included in the first subsystem 201 and the second subsystem 202, and the initial bridges 203 are protocol conversion bridges that convert the interface protocol of the docking device into the network interface protocol of the network-on-chip NOC. In one case, the initial bridge 203 is connected to the main device (such as a graphics processor GPU, etc.). Since the interface protocol between the main device and the NOC internal network is different, when the signal is output from the main device, it will be carried out in the initial bridge 203. The signal protocol is converted so that the signal enters the NOC internal network. In another case, when two different NOCs are interconnected across NOCs, such as NOC0 accessing NOC1, the initial bridge of NOC1 is connected to the target bridge of NOC0, since the two NOCs have independent NOC buses, so the two different NOCs Signals cannot be directly transmitted between them. At this time, before the signal is output from the target bridge, the protocol conversion of the signal is performed in the target bridge according to the protocol rules, and the target bridge transmits the converted signal to the initial bridge of NOC1, and then the initial bridge will According to the received signal, do a protocol conversion again, so that the signal can enter the NOC1 internal network, so as to realize cross-NOC interconnection.
在第一子系统201和第二子系统202中可包括一个或多个目标桥205,目标桥205为NOC内部网络协议转换为对接设备接口协议的协议转换桥。在一种情况下,目标桥205与从设备(如存储器等)相连,由于从设备和NOC内部网络的接口协议不同,所以当信号从NOC内部网络输出时,会在目标桥205中进行信号的协议转换,使得信号能够进入从设备。在另一种情况下,当两个不同的NOC跨NOC互联时,例如NOC0访问NOC1,NOC0目标桥与NOC1的初始桥相连,由于NOC0与NOC1有独立的NOC总线,所以两个NOC之间不能直接进行信号传输,此时,信号从NOC0的目标桥输出前会在目标桥中根据协议规则进行信号的协议转换,并且目标桥将协议转换后的信号发送给NOC1的初始桥,然后NOC1的初始桥会根据接收到的信号再进行一次协议转换,使得信号能够进入到NOC1内部网络,从而实现跨NOC互联。One or more target bridges 205 may be included in the first subsystem 201 and the second subsystem 202, and the target bridges 205 are protocol conversion bridges that convert the NOC internal network protocol to the interface protocol of the docking device. In one case, the target bridge 205 is connected to a slave device (such as a memory, etc.), since the interface protocol between the slave device and the NOC internal network is different, when the signal is output from the NOC internal network, the signal will be transmitted in the target bridge 205. Protocol conversion so that the signal can enter the slave device. In another case, when two different NOCs are interconnected across NOCs, for example, NOC0 accesses NOC1, and the NOC0 target bridge is connected to the initial bridge of NOC1. Since NOC0 and NOC1 have independent NOC buses, the two NOCs cannot communicate with each other. Direct signal transmission. At this time, before the signal is output from the target bridge of NOC0, the protocol conversion of the signal will be carried out in the target bridge according to the protocol rules, and the target bridge will send the converted signal to the initial bridge of NOC1, and then the initial bridge of NOC1. The bridge will perform another protocol conversion according to the received signal, so that the signal can enter the NOC1 internal network, thereby realizing cross-NOC interconnection.
在第一子系统201和第二子系统202中还包括一个或多个路由模块204,路由模块204为连接两个或多个网络的硬件装置,在网络间起网关的作用,是读取每个数据包中的地址 然后决定如何传送的专用智能性的网络装置。它能够理解不同的协议,例如某个局域网使用的以太网协议,因特网使用的TCP/IP协议。这样,路由模块可以分析各种不同类型网络传来的数据包的目的地址,把非TCP/IP网络的地址转换成TCP/IP地址,或者反之;再根据选定的路由算法把各数据包按最佳路线传送到指定位置。所以路由模块可以把一个子系统中的不同网络的模块建立数据连接,也可以把两个不同网络的子系统建立数据连接实现两个子系统之间交互。例如,第一子系统201中的初始桥203可以通过第一子系统中的路由模块访问到第一子系统201中的目标桥,同时也可以通过第一子系统中的路由模块访问到第二子系统202中的路由模块从而访问到第二子系统202中的目标桥。The first subsystem 201 and the second subsystem 202 also include one or more routing modules 204. The routing module 204 is a hardware device connecting two or more networks, and acts as a gateway between the networks. The address in each packet then decides how to transmit it to the dedicated intelligence of the network device. It can understand different protocols, such as the Ethernet protocol used by a local area network, and the TCP/IP protocol used by the Internet. In this way, the routing module can analyze the destination addresses of data packets from various types of networks, convert the addresses of non-TCP/IP networks into TCP/IP addresses, or vice versa; The best route is sent to the specified location. Therefore, the routing module can establish a data connection between the modules of different networks in one subsystem, and can also establish a data connection between the subsystems of two different networks to realize the interaction between the two subsystems. For example, the initial bridge 203 in the first subsystem 201 can access the target bridge in the first subsystem 201 through the routing module in the first subsystem, and can also access the second subsystem through the routing module in the first subsystem. The routing module in the subsystem 202 thus accesses the target bridge in the second subsystem 202 .
又例如,如图1B所示,图1B为本发明实施例提供的另一种片上网络结构示意图,图中包括第一片上网络000,由第一电源域供电的第一子系统010、由第二电源域供电的第二子系统020、第一初始桥011、第一路由模块012、第一目标桥013、跨电源域边界的链路接口014、电源隔离室030、第二路由模块021、第二目标桥022组成。需要说明的是,片上网络20为图中第一片上网络000,初始桥203为图中第一初始桥011,路由模块204为图中第一路由模块012与第二路由模块021,目标桥205为图中第一目标桥013和第二目标桥022。跨电源域边界的链路接口014用于传输第一子系统010和第二子系统020之间的会话请求和会话响应,电源隔离室030用于在物理上实现掉电隔离的装置。在该片上网络结构中第一初始桥011可通过第一路由模块012访问到第二路由模块021,从而可访问到第二目标桥022,其中在第一子系统010发起的会话请求可通过跨电源域边界的链路接口014发送至第二子系统020,由第二子系统020响应该会话请求后生成相应的会话响应,并通过该跨电源域边界的链路接口014发送至第一子系统010。For another example, as shown in FIG. 1B , which is a schematic diagram of another on-chip network structure provided by an embodiment of the present invention, the figure includes a first on-chip network 000, a first subsystem 010 powered by a first power domain, and a The second subsystem 020 powered by the second power domain, the first initial bridge 011, the first routing module 012, the first target bridge 013, the link interface 014 across the power domain boundary, the power isolation compartment 030, the second routing module 021 , and the second target bridge 022 is formed. It should be noted that the on-chip network 20 is the first on-chip network 000 in the figure, the initial bridge 203 is the first initial bridge 011 in the figure, the routing module 204 is the first routing module 012 and the second routing module 021 in the figure, and the target bridge 205 is the first target bridge 013 and the second target bridge 022 in the figure. The link interface 014 across the power domain boundary is used to transmit session requests and session responses between the first subsystem 010 and the second subsystem 020, and the power isolation room 030 is used to physically implement a power-off isolation device. In this on-chip network structure, the first initial bridge 011 can access the second routing module 021 through the first routing module 012, and thus can access the second target bridge 022, wherein the session request initiated by the first subsystem 010 can be accessed through the cross-connection The link interface 014 of the power domain boundary is sent to the second subsystem 020, and the second subsystem 020 generates a corresponding session response after responding to the session request, and sends it to the first sub-system through the link interface 014 across the power domain boundary System 010.
需要说明的是,与NOC中的初始桥203相连接的主设备可以为应用处理器(application processor,AP),中央处理器(central processing unit,CPU),图形处理器(graphics processing unit,GPU),神经网络处理器(neural-network processing unit,NPU),调制解调处理器,图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器等。例如,GPU获取存储器中的图片信息,并根据图片信息进行数学和几何计算实现图形渲染等。It should be noted that the main device connected to the initial bridge 203 in the NOC may be an application processor (application processor, AP), a central processing unit (central processing unit, CPU), a graphics processing unit (graphics processing unit, GPU) , neural-network processing unit (NPU), modem processor, image signal processor (image signal processor, ISP), controller, memory, video codec, digital signal processor (digital signal processor) processor, DSP), baseband processor, etc. For example, the GPU obtains the picture information in the memory, and performs mathematical and geometric calculations according to the picture information to realize graphics rendering and the like.
与NOC中目标桥205相连接的从设备可以为Flash闪存(例如,NAND闪存、NOR闪存等),通用闪存存储器(universal flash storage,UFS),嵌入式多媒体卡eMMC,通用闪存存储多芯片封装uMCP存储器,嵌入式多媒体卡多芯片封装eMCP存储器,固态驱动器(SSD),机械硬盘(Hard Disk Drive,HDD)等。例如,将手机运行数据存储在相应存储器中,记录手机运行情况等。The slave device connected to the target bridge 205 in the NOC can be Flash flash memory (eg, NAND flash memory, NOR flash memory, etc.), universal flash storage (UFS), embedded multimedia card eMMC, universal flash storage multi-chip package uMCP Memory, embedded multimedia card multi-chip package eMCP memory, solid state drive (SSD), mechanical hard disk (Hard Disk Drive, HDD), etc. For example, the operating data of the mobile phone is stored in the corresponding memory, and the operating conditions of the mobile phone are recorded.
可以理解的是,图1A中的一种片上系统的结构只是本申请实施例中的一种示例性的实施方式,本申请实施例中的片上系统的结构架构包括但不仅限于以上架构。It can be understood that the structure of a system-on-chip in FIG. 1A is only an exemplary implementation in the embodiments of the present application, and the structural architecture of the system-on-chip in the embodiments of the present application includes but is not limited to the above architecture.
为了便于理解本发明实施例,下面先对本发明实施例所基于的虚拟通道(Virtual Channel,VC)会话传输方式进行描述。本申请提供一种会话传输方式,请参见图1C,图1C为本发明实施例提供的一种会话传输方式示意图,图中发送端TX 410包括发送端计数器411、3个VC会话请求412、仲裁调度器413;接收端RX 420包括接收端计数器421、 先近先出存储器VC FIFO 423、解复用选择器DEMUX 422。可选的,发送端可位于上述片上网络中的第一子系统的路由模块中,接收端可位于第二子系统的路由模块中。以下为发送端与接收端进行交互的流程:To facilitate understanding of the embodiments of the present invention, a virtual channel (Virtual Channel, VC) session transmission mode on which the embodiments of the present invention are based is first described below. The present application provides a session transmission mode, please refer to FIG. 1C , which is a schematic diagram of a session transmission mode provided by an embodiment of the present invention. In the figure, the sender TX 410 includes a sender counter 411, three VC session requests 412, an arbitration The scheduler 413; the receiving end RX 420 includes a receiving end counter 421, a first-in-first-out memory VC FIFO 423, and a demultiplexing selector DEMUX 422. Optionally, the sending end may be located in the routing module of the first subsystem in the above network-on-chip, and the receiving end may be located in the routing module of the second subsystem. The following is the process of interaction between the sender and the receiver:
步骤1:接收端中的VC FIFO 423向接收端计数器421发送计数请求。接收端中的VC FIFO 423用于存储数据,若VC FIFO 423有可用缓存深度,则向接收端计数器421发送计数请求。Step 1: The VC FIFO 423 in the receiving end sends a count request to the receiving end counter 421. The VC FIFO 423 in the receiving end is used to store data. If the VC FIFO 423 has an available buffer depth, a counting request is sent to the receiving end counter 421.
步骤2:接收端计数器421接收计数请求。接收端计数器421每接收到一个由VC FIFO 423发起的计数请求,接收端计数器421就计数增加一次。Step 2: The receiver counter 421 receives the count request. Each time the receiver counter 421 receives a count request initiated by the VC FIFO 423, the receiver counter 421 counts up once.
步骤3:接收端计数器421向发送端计数器411发送crdt_x。若接收端计数器421处于非零状态,可向发送端计数器411发送控制信息crdt_x,每发送一个crdt_x接收端计数器421就计数减少一次。Step 3: The receiver counter 421 sends crdt_x to the transmitter counter 411 . If the receiving end counter 421 is in a non-zero state, the control information crdt_x may be sent to the transmitting end counter 411 , and the receiving end counter 421 is decremented every time one crdt_x is sent.
步骤4:发送端计数器411接收crdt_x。发送端计数器411每接收到一个由接收端计数器421发送的crdt_x,发送端计数器411就计数增加一次。Step 4: The sender counter 411 receives crdt_x. Each time the sender counter 411 receives a crdt_x sent by the receiver counter 421, the sender counter 411 counts up one time.
步骤5:发送端计数器411向仲裁调度器413发送调度请求。当发送端计数器411处于非零状态时,向仲裁调度器413发送调度请求。Step 5: The sender counter 411 sends a scheduling request to the arbitration scheduler 413 . When the sender counter 411 is in a non-zero state, a scheduling request is sent to the arbitration scheduler 413 .
步骤6:仲裁调度器413在接收调度请求后,仲裁调度器413每接收到一个由发送端计数器411发送的调度请求就会从3个VC会话请求412中调度一个会话请求允许通过链路430发送至接收端RX 420的解复用选择器DEMUX 422。Step 6: After the arbitration scheduler 413 receives the scheduling request, each time the arbitration scheduler 413 receives a scheduling request sent by the sender counter 411, it will schedule a session request from the three VC session requests 412 and allow it to be sent through the link 430. To the demultiplexing selector DEMUX 422 of the receiving end RX 420.
步骤7:DEMUX 422接收由会话请求。DEMUX 422在接收到会话请求后,可将会话请求中的信息进行解复用并存储在VC FIFO 423中。Step 7: DEMUX 422 receives the request by the session. After receiving the session request, the DEMUX 422 can demultiplex the information in the session request and store it in the VC FIFO 423.
步骤8:仲裁调度器413每调度完成一个会话请求,就会向发送端计数器411发送一个调度响应grant_x,发送端计数器411每接收到一个grant_x就会计数减少一次。Step 8: The arbitration scheduler 413 sends a scheduling response grant_x to the sender counter 411 every time a session request is completed, and the sender counter 411 decrements the count every time it receives a grant_x.
例如,主设备(例如上述提及的第一电源域中的第一处理模块)中包括TX1和RX2,从设备(例如上述提及的第二电源域中的第二处理模块)中包括RX1和TX2。TX1和RX1用于控制发送会话请求,TX2和RX2用于控制发送会话响应。如一个主设备中的TX1向一个从设备中RX1发送会话请求,从设备响应于该会话请求并生成相应的会话响应后,从设备中的TX2向主设备中的RX2发送该会话响应。具体地实现流程如下:For example, a master device (eg, the first processing module in the first power domain mentioned above) includes TX1 and RX2, and a slave device (eg, the second processing module in the second power domain mentioned above) includes RX1 and RX2. TX2. TX1 and RX1 are used to control sending session requests, and TX2 and RX2 are used to control sending session responses. For example, TX1 in a master device sends a session request to RX1 in a slave device, after the slave device responds to the session request and generates a corresponding session response, TX2 in the slave device sends the session response to RX2 in the master device. The specific implementation process is as follows:
1、TX1向RX1发送会话请求:1. TX1 sends a session request to RX1:
若RX1中的第一先近先出存储器有一个可用缓存深度,则该第一先近先出存储器向请求接收端计数器发送一个计数请求,请求接收端计数器接收到该计数请求后就计数增加一次,此时请求接收端计数器计数为一,然后向请求发送端计数器发送一个网络请求信用信息(network_request_credit,network_req_crdt)后计数减少一次,在此network_req_crdt为上述提及的控制信息。请求发送端计数器接收该network_req_crdt后计数加一,此时请求发送端计数器计数为一,请求接收端计数器计数为零。请求发送端计数器可向第一仲裁调度器发送一个调度请求,第一仲裁调度器接收到一个调度请求后会从3个VC会话请求中调度一个会话请求,如第一会话请求。如图1D所示,如图1D为本发明实施例提供的一种会话请求示意图,可选的,第一会话请求中包括着网络请求有效载荷信息(network_request_payload,network_req_pld)和网络请求VLD信息(network_request_VLD, network_req_vld),第一会话请求允许通过链路发送至接收端RX1的第一解复用选择器。第一解复用选择器在接收到第一会话请求后,可将第一会话请求中的network_req_pld进行解复用并存储在第一先近先出存储器中。If the first FIFO memory in RX1 has an available cache depth, the first FIFO memory sends a count request to the request receiver counter, and the request receiver counter increases the count once after receiving the count request , at this time, the counter of the request receiver is counted as one, and then a network request credit information (network_request_credit, network_req_crdt) is sent to the counter of the request sender, and the count is decreased by one time, where network_req_crdt is the above-mentioned control information. After the request sender counter receives the network_req_crdt, the count is incremented by one. At this time, the request sender counter counts to one, and the request receiver counter counts to zero. The request sender counter may send a scheduling request to the first arbitration scheduler, and after receiving a scheduling request, the first arbitration scheduler will schedule a session request, such as the first session request, from among the three VC session requests. As shown in FIG. 1D, FIG. 1D is a schematic diagram of a session request provided by an embodiment of the present invention. Optionally, the first session request includes network request payload information (network_request_payload, network_req_pld) and network request VLD information (network_request_VLD) , network_req_vld), the first session request is allowed to be sent to the first demultiplexing selector of the receiver RX1 through the link. After receiving the first session request, the first demultiplexing selector may demultiplex the network_req_pld in the first session request and store it in the first FIFO memory.
2、TX2向RX2发送会话响应:2. TX2 sends a session response to RX2:
从设备响应于由主设备发送的会话请求后生成会话响应,从设备向主设备发送该会话响应时,若RX2中的第二先近先出存储器有一个可用缓存深度,则该第二先近先出存储器向响应接收端计数器发送一个计数请求,响应接收端计数器接收到该计数请求后就计数增加一次,此时响应接收端计数器计数为一,然后向响应发送端计数器发送一个网络响应信用信息(network_respond_credit,network_rsp_crdt)后计数减少一次,在此响应信用信息为上述提及的控制信息。响应发送端计数器接收该network_rsp_crdt后计数增加一次,此时响应发送端计数器计数为一,响应接收端计数器计数为零。响应发送端计数器可向第二仲裁调度器发送一个调度请求,第二仲裁调度器接收到该调度请求后可从3个VC会话响应中调度一个会话响应,如第一会话响应。如图1D所示,可选的,第一会话响应中包括着网络响应有效载荷信息(network_respond_payload,network_rsp_pld)和网络响应VLD信息(network_respond_VLD,network_rsp_vld),第一会话响应允许通过链路发送至接收端RX2的第二解复用选择器。第二解复用选择器在接收到第一会话响应后,可将会话响应中的network_rsp_pld进行解复用并存储在第二先近先出存储器中。The slave device generates a session response after responding to the session request sent by the master device. When the slave device sends the session response to the master device, if the second FIFO memory in RX2 has an available buffer depth, the second FIFO memory The first-out memory sends a count request to the counter of the response receiver, and the counter of the receiver of the response receives the count request and increments the count by one time. At this time, the counter of the receiver of the response is counted as one, and then sends a network response credit information to the counter of the sender of the response. After (network_respond_credit, network_rsp_crdt), the count is decremented once, and the response credit information here is the above-mentioned control information. After the counter of the response sender receives the network_rsp_crdt, the count is incremented by one time. At this time, the counter of the response sender is one, and the counter of the response receiver is zero. The response sender counter may send a scheduling request to the second arbitration scheduler, and after receiving the scheduling request, the second arbitration scheduler may schedule a session response, such as the first session response, from the three VC session responses. As shown in FIG. 1D, optionally, the first session response includes network response payload information (network_respond_payload, network_rsp_pld) and network response VLD information (network_respond_VLD, network_rsp_vld), and the first session response is allowed to be sent to the receiver through the link Second demux selector for RX2. After receiving the first session response, the second demultiplexing selector may demultiplex the network_rsp_pld in the session response and store it in the second FIFO memory.
可以理解的是,图1C中的一种会话传输方式只是本申请实施例中的一种示例性的实施方式,本申请实施例中的会话传输方式包括但不仅限于以上架构。It can be understood that a session transmission manner in FIG. 1C is only an exemplary implementation in the embodiment of the present application, and the session transmission manner in the embodiment of the present application includes but is not limited to the above architecture.
下面基于上述片上网络结构和会话传输方式,结合本申请中提供的一种掉电隔离装置的实施例,对本申请中提出的技术问题进行具体分析和解决。请参见图2A,图2A为本发明实施例提供的一种掉电隔离装置示意图,如图2A所示,掉电隔离装置30包括:第一电源域303和第二电源域302;第一电源域303包括第一隔离模块304和第一处理模块303;第二电源域302包括第二隔离模块305;第一处理模块303每接收到一次第一控制信息,则累计一次允许发送第一会话请求的次数;第一会话请求为由第一隔离模块304通过第一请求链路转发至第二隔离模块305的会话请求。其中:Based on the above-mentioned on-chip network structure and session transmission mode, and in conjunction with an embodiment of a power-off isolation device provided in this application, the technical problems raised in this application are specifically analyzed and solved. Referring to FIG. 2A, FIG. 2A is a schematic diagram of a power-off isolation device according to an embodiment of the present invention. As shown in FIG. 2A, the power-off isolation device 30 includes: a first power supply domain 303 and a second power supply domain 302; a first power supply The domain 303 includes a first isolation module 304 and a first processing module 303; the second power domain 302 includes a second isolation module 305; each time the first processing module 303 receives the first control information, it accumulates one time to allow the first session request to be sent The first session request is the session request forwarded by the first isolation module 304 to the second isolation module 305 through the first request link. in:
第一隔离模块304,用于接收掉电请求后,通过第二请求链路向第一处理模块303发送第一通知请求。可选的,当第一电源域要从上电状态改变为下电状态时,此时若第二电源域一直处于上电状态,则由芯片系统的电源管理器向第一隔离模块发送掉电请求;当第二电源域要从上电状态改变为下电状态时,此时若第一电源域一直处于上电状态,则由第二电源域向第一隔离模块发送掉电请求。当第一隔离模块接收到掉电请求后,第一隔离模块通过第二请求链路向第一处理模块303发送第一通知请求,第二请求链路用于传输第一隔离模块304和第一处理模块303之间的通知请求,第一通知请求用于指示第一处理模块303将其累计的允许发送会话请求的次数清零,并停止接收控制信息以停止累计允许发送会话请求的次数。The first isolation module 304 is configured to send the first notification request to the first processing module 303 through the second request link after receiving the power-down request. Optionally, when the first power domain is to be changed from the power-on state to the power-off state, if the second power domain is always in the power-on state, the power manager of the chip system sends the power-off state to the first isolation module. request; when the second power domain is about to change from the power-on state to the power-off state, if the first power domain is always in the power-on state, the second power domain sends a power-off request to the first isolation module. After the first isolation module receives the power-down request, the first isolation module sends the first notification request to the first processing module 303 through the second request link, and the second request link is used to transmit the first isolation module 304 and the first The notification request between the processing modules 303. The first notification request is used to instruct the first processing module 303 to reset the accumulated number of session requests allowed to be sent to zero, and stop receiving control information to stop accumulating the number of allowed session requests to be sent.
第一处理模块303,用于响应于所述第一通知请求,清除累计的所述允许发送第一会话请求的次数,并停止接收所述第一控制信息以停止累计所述允许发送第一会话请求的次 数。具体地,当第一处理模块303接收到由第一隔离模块304发送的第一通知请求后,会将其累计的允许发送第一会话请求的次数清零并且停止接收相应的控制信息以停止累计允许发送第一会话请求的次数。The first processing module 303 is configured to, in response to the first notification request, clear the accumulated number of times of the request for allowing the first session to be sent, and stop receiving the first control information to stop accumulating the first session that is allowed to be sent. The number of requests. Specifically, after the first processing module 303 receives the first notification request sent by the first isolation module 304, it will reset the accumulated number of times the first session request is allowed to be sent to zero and stop receiving corresponding control information to stop accumulating The number of times the first session request is allowed to be sent.
第一隔离模块304,还用于在第一处理模块303响应于所述第一通知请求后,断开与第二隔离模块305之间的所述第一请求链路。具体地,在第一处理模块303停止发送会话请求后,第一隔离模块304将断开与第二隔离模块305之间的请求链路。例如,在第一处理模块303中的允许发送第一会话请求的次数为二时,第一处理模块303会向外依次发送两个会话请求并通过第一请求链路转发发送至从设备,若此时第一隔离模块304直接断开第一请求链路,则第一处理模块303发起的这两个会话请求无法发送到从设备,会导致这两个会话请求得不到响应,使得芯片系统出现丢包和挂死的现象。The first isolation module 304 is further configured to disconnect the first request link with the second isolation module 305 after the first processing module 303 responds to the first notification request. Specifically, after the first processing module 303 stops sending the session request, the first isolation module 304 will disconnect the request link with the second isolation module 305 . For example, when the number of times the first session request is allowed to be sent in the first processing module 303 is two, the first processing module 303 sends two session requests to the outside in sequence and forwards them to the slave device through the first request link. At this time, the first isolation module 304 directly disconnects the first request link, and the two session requests initiated by the first processing module 303 cannot be sent to the slave device, which will result in the two session requests not getting a response, causing the system-on-a-chip There are packet loss and hang up.
在本发明实施例中,掉电隔离装置中的主设备和从设备基于虚拟通道(Virtual Channel,VC)进行传输通信,主设备为发起会话请求的设备,从设备为响应会话响应的设备。当主设备(例如上述提及的第一电源域)接收到由从设备(例如上述提及的第二电源域)发送的一次或多次控制信息后,主设备会累计一次或多次允许发送会话请求的次数,该允许发送会话请求的次数非零时,表示允许主设备发送会话请求,并不意味着主设备就会立即发送会话请求,而是当主设备需要向从设备发送会话请求时,主设备向从设备每发送一次会话请求时,允许发送会话请求的次数就减少一次,直到允许发送会话请求的次数为零时,则主设备停止发送会话请求。基于上述,本发明实施例通过对掉电隔离装置中的主设备的第一隔离模块进行改进,当主设备或者从设备其中一个电源域掉电的情况下,使得本该发送至从设备(例如上述提及的第二电源域)的会话请求不再发送给即将断链的从设备,避免出现丢包和总线挂死现象,从而实现对电源域进行掉电隔离保护。具体地,在主设备的第一隔离模块接收到掉电请求后,主动向主设备的第一处理模块发送第一通知请求,而第一处理模块则响应于该第一通知请求将其累计的允许发送会话请求的次数清零并且不再接收新的控制信息,使得在第一处理模块中累计的允许发送会话请求的次数保持为零,然后再断开第一隔离模块与第二隔离模块之间的第一请求链路,从而实现断开主设备与从设备的会话请求链路,因而在确保了主设备的第一处理模块无法向外发送会话请求的情况下,再断开对应的第一请求链路,从而避免了若先断开第一请求链路再清零则可能导致的此时第一处理模块上仍然会发出本该由从设备(例如上述提及的第二电源域)响应的会话请求,但该会话请求无法得到从设备的响应,进而导致第一处理模块所在的电源域出现总线挂死现象。In the embodiment of the present invention, the master device and the slave device in the power-off isolation device perform transmission communication based on a virtual channel (Virtual Channel, VC), the master device is the device that initiates the session request, and the slave device is the device that responds to the session response. When the master device (such as the first power domain mentioned above) receives one or more control messages sent by the slave device (such as the second power domain mentioned above), the master device will accumulate one or more allow-sending sessions The number of requests, when the number of times allowed to send session requests is non-zero, it means that the master device is allowed to send session requests, which does not mean that the master device will immediately send a session request, but when the master device needs to send a session request to the slave device, Each time the device sends a session request to the slave device, the number of times the session request is allowed to be sent is reduced by one, until the number of times the session request is allowed to be sent is zero, the master device stops sending the session request. Based on the above, in the embodiment of the present invention, by improving the first isolation module of the master device in the power-off isolation device, when one of the power domains of the master device or the slave device is powered off, the transmission that should be sent to the slave device (for example, the above-mentioned The session request of the mentioned second power domain) is no longer sent to the slave device about to be disconnected, so as to avoid the phenomenon of packet loss and bus hang, so as to realize the power-off isolation protection for the power domain. Specifically, after the first isolation module of the master device receives the power-down request, it actively sends a first notification request to the first processing module of the master device, and the first processing module responds to the first notification request to accumulate its accumulated The number of times the session request is allowed to be sent is cleared and no new control information is received, so that the accumulated number of times the session request is allowed to be sent in the first processing module remains zero, and then the first isolation module and the second isolation module are disconnected. The first request link between the master device and the slave device is disconnected, so that when the first processing module of the master device cannot send a session request to the outside, the corresponding first request link is disconnected. A request link, so as to avoid the possibility that if the first request link is disconnected first and then cleared, the first processing module will still send out the slave device (such as the second power domain mentioned above) However, the session request cannot get a response from the slave device, which leads to the bus hang phenomenon in the power domain where the first processing module is located.
通过实施本发明实施例,对掉电隔离装置中的第一隔离模块304进行改进,使得第一隔离模块304能够控制第一处理模块303处于暂停发送会话请求状态后,再断开与第二隔离模块305之间的请求链路,从而避免了若先断开第一请求链路再清零则可能导致的此时第一处理模块303上仍然会发出本该由从设备响应的会话请求,由于该会话请求需要第一隔离模块通过第一请求链路转发至从设备,但在断开第一请求链路后,从设备无法接收到会话请求,从而该会话请求无法得到从设备的响应,进而导致第一处理模块303所在的电源域出现总线挂死现象。By implementing the embodiment of the present invention, the first isolation module 304 in the power-off isolation device is improved, so that the first isolation module 304 can control the first processing module 303 to be in the state of suspending sending session requests, and then disconnect from the second isolation module The request link between the modules 305, thus avoiding the possibility that if the first request link is disconnected first and then cleared, the session request that should be responded by the slave device will still be sent on the first processing module 303. The session request needs to be forwarded to the slave device by the first isolation module through the first request link, but after the first request link is disconnected, the slave device cannot receive the session request, so the session request cannot get a response from the slave device, and further As a result, the bus hang phenomenon occurs in the power domain where the first processing module 303 is located.
在一种可能的实现方式中,如图2B所示,图2B为本发明实施例提供的另一种掉电隔 离装置示意图,所述第一会话请求的目标从设备为所述第二电源域中包括的第二处理模块;第二处理模块306每接收到一次第二控制信息,则累计一次允许发送第一会话响应的次数;所述第一会话响应为第二处理模块306响应于所述第一会话请求且通过第一响应链路发送至第一处理模块303的响应;第一隔离模块304,还用于在断开所述第一请求链路之后,通过所述第二请求链路向第一处理模块303发送第二通知请求;第一处理模块303,还用于响应于所述第二通知请求,停止发送所述第二控制信息;第一隔离模块304,还用于在第一处理模块303响应于所述第二通知请求后,断开与第二隔离模块305之间的所述第一响应链路。In a possible implementation manner, as shown in FIG. 2B , which is a schematic diagram of another power-off isolation apparatus provided by an embodiment of the present invention, the target slave device of the first session request is the second power domain The second processing module included in the . The first session request and the response sent to the first processing module 303 through the first response link; the first isolation module 304 is further configured to pass the second request link after disconnecting the first request link Send a second notification request to the first processing module 303; the first processing module 303 is further configured to stop sending the second control information in response to the second notification request; the first isolation module 304 is further configured to A processing module 303 disconnects the first response link with the second isolation module 305 after responding to the second notification request.
可选的,若在第一隔离模块304断开上述提及的第一请求链路前,第一处理模块303已经发起了多个会话请求,并且第一隔离模块304将这些会话请求通过第一请求链路已经转发至第二处理模块306,第二处理模块306会响应于这些会话请求生成相应的会话响应,此时由于第二处理模块306在电源域掉电前接收到由第一处理模块303生成的第二控制信息,所以在第二处理模块306中累计的允许发送会话响应的次数非零,第二处理模块306会将生成的会话响应依次通过第一响应链路发送至第一处理模块303。当第二处理模块306发送完上述提及的会话响应后,第一隔离模块304会向第一处理模块303发送第二通知请求,第一处理模块303响应于第二通知请求,将停止发送第二控制信息,使得第二处理模块306无法再接收到新的第二控制信息从而无法在继续累计允许发送第一会话响应的次数。接下来第一隔离模块304会断开与第二隔离模块305之间的第一响应链路,使得在异常情况下由第二处理模块306生成的会话响应无法从上述提及的第一响应链路发送至第一处理模块303,避免出现丢包和总线挂死的现象,从而实现对电源域进行掉电隔离保护。需要说明的是,第二控制信息为由第一处理模块303生成并发送给第一隔离模块304,然后第一隔离模块304通过第一响应链路发送至第二隔离模块305并转发至第二处理模块的信息。Optionally, if the first processing module 303 has initiated multiple session requests before the first isolation module 304 disconnects the first request link mentioned above, and the first isolation module 304 passes these session requests through the first The request link has been forwarded to the second processing module 306, and the second processing module 306 will generate corresponding session responses in response to these session requests. 303 generates the second control information, so the accumulative number of times the second processing module 306 is allowed to send the session response is non-zero, and the second processing module 306 sends the generated session response to the first processing through the first response link in turn. Module 303. After the second processing module 306 has sent the above-mentioned session response, the first isolation module 304 will send a second notification request to the first processing module 303, and the first processing module 303 will stop sending the first notification request in response to the second notification request. Second control information, so that the second processing module 306 can no longer receive new second control information and cannot continue to accumulate the number of times that the first session response is allowed to be sent. Next, the first isolation module 304 will disconnect the first response link with the second isolation module 305, so that the session response generated by the second processing module 306 in an abnormal situation cannot be obtained from the first response link mentioned above. The route is sent to the first processing module 303 to avoid the phenomenon of packet loss and bus hang, so as to implement power-off isolation protection for the power supply domain. It should be noted that the second control information is generated by the first processing module 303 and sent to the first isolation module 304, and then the first isolation module 304 sends it to the second isolation module 305 through the first response link and forwards it to the second isolation module 304. Processing module information.
例如,在第一隔离模块304断开第一请求链路前,由第一处理模块303发起了两个会话请求,并且第二处理模块306接收到这两个会话请求且响应于这两个会话请求后生成了两个相应的会话响应。若第二处理模块306接收到三个由第一处理模块303生成的第二控制信息,第二处理模块306累计的允许发送会话响应的次数为三,则第二处理模块306可向第一处理模块303返回相应的会话响应,在第二处理模块306返回完这两个会话响应后第二处理模块306累计的允许发送会话响应的次数为一。当第一处理模块303响应于由第一隔离模块304发送的第二通知请求后,第一隔离模块304会断开与第二隔离模块305之间的第一响应链路,使得第二处理模块306无法在接收到新的第二控制信息,所以第二处理模块306不再累计允许发送会话响应的次数。For example, before the first isolation module 304 disconnects the first request link, the first processing module 303 initiates two session requests, and the second processing module 306 receives the two session requests and responds to the two sessions Two corresponding session responses were generated after the request. If the second processing module 306 receives three pieces of second control information generated by the first processing module 303, and the second processing module 306 accumulates three times that the session response is allowed to be sent, the second processing module 306 can send the first processing The module 303 returns a corresponding session response. After the second processing module 306 returns the two session responses, the number of times the second processing module 306 is allowed to send session responses is one. After the first processing module 303 responds to the second notification request sent by the first isolation module 304, the first isolation module 304 will disconnect the first response link with the second isolation module 305, so that the second processing module 306 cannot receive new second control information, so the second processing module 306 no longer accumulates the number of times the session response is allowed to be sent.
本发明实施例中,掉电隔离装置中的主设备(例如上述提及的第一电源域)和从设备(例如上述提及的第二电源域)基于虚拟通道进行传输通信,当从设备接收到由主设备发送的一次或多次控制信息后,从设备会累计一次或多次允许发送会话响应的次数,该允许发送会话响应的次数非零时,表示允许从设备发送会话请求,并不意味着从设备就会立即发送会话请求,而是当从设备需要向主设备发送会话请求时,从设备向主设备每发送一次会话响应,允许发送会话响应的次数就减少一次,直到允许发送会话响应的次数为零时,则从设备停止发送会话响应。基于上述,若在主设备的第一隔离模块断开上述提及的第一 请求链路后,第一隔离模块还主动向第一处理模块发送第二通知请求,而第一处理模块响应于第二通知请求将停止向从设备发送控制信息,之后再断开第一隔离模块与第二隔离模块之间的第一响应链路,避免了若先断开第一响应链路再停止发送控制信息则可能导致的此时第一处理模块仍然发出控制信息,但该控制信息无法得到从设备的响应,进而导致第一处理模块所在的电源域出现总线挂死的现象。In this embodiment of the present invention, the master device (for example, the above-mentioned first power supply domain) and the slave device (for example, the above-mentioned second power supply domain) in the power-off isolation device perform transmission communication based on the virtual channel. After one or more times of control information sent by the master device, the slave device will accumulate one or more times the number of times the session response is allowed to be sent. It means that the slave device will send a session request immediately, but when the slave device needs to send a session request to the master device, each time the slave device sends a session response to the master device, the number of times the session response is allowed to be sent is reduced by one, until the session is allowed to be sent. When the number of responses is zero, the slave device stops sending session responses. Based on the above, if after the first isolation module of the master device disconnects the first request link mentioned above, the first isolation module also actively sends a second notification request to the first processing module, and the first processing module responds to the first request The second notification request will stop sending control information to the slave device, and then disconnect the first response link between the first isolation module and the second isolation module, avoiding the need to first disconnect the first response link and then stop sending control information. In this case, the first processing module may still send control information, but the control information cannot be responded by the slave device, which may lead to the phenomenon that the bus hangs up in the power domain where the first processing module is located.
在一种可能的实现方式中,如图2B所示,第一隔离模块304,还用于通过第三请求链路向第二隔离模块305发送暂停会话请求;第二隔离模块305,用于接收所述暂停会话请求后,向第二处理模块306发送第三通知请求;第二处理模块306,用于响应于所述第三通知请求,处于停止发送所述第一控制信息和停止发送所述第一会话响应的状态;第二隔离模块305,还用于在第二处理模块306响应于所述第三通知请求后,通过所述第三请求链路向第一隔离模块304发送暂停会话响应;第一隔离模块304,还用于接收所述暂停会话响应。In a possible implementation manner, as shown in FIG. 2B , the first isolation module 304 is further configured to send a session suspension request to the second isolation module 305 through the third request link; the second isolation module 305 is configured to receive After the session suspension request, send a third notification request to the second processing module 306; the second processing module 306 is configured to, in response to the third notification request, stop sending the first control information and stop sending the The state of the first session response; the second isolation module 305 is further configured to send a pause session response to the first isolation module 304 through the third request link after the second processing module 306 responds to the third notification request ; The first isolation module 304 is further configured to receive the suspend session response.
例如,在第一隔离模块304断开第一请求链路前,由第一处理模块303发起了两个会话请求,并且第二处理模块306接收到这两个会话请求且响应于这两个会话请求后生成了两个相应的会话响应。若第二处理模块306接收到三个由第一处理模块303生成的第二控制信息,第二处理模块306累计的允许发送会话响应的次数为三,则第二处理模块306可向第一处理模块303返回相应的会话响应,在第二处理模块306返回完这两个会话响应后第二处理模块306累计的允许发送会话响应的次数为一,第二处理模块306依旧处于允许发送会话响应的状态。当第一处理模块303响应于第二通知请求后不再发送第二控制信息后,第一隔离模块304会断开与第二隔离模块305之间的第一响应链路,使得第二处理模块306无法在通过第一响应链路接收到新的第二控制信息,所以第二处理模块306累计的允许发送会话响应的次数保持为一。此时,第一隔离模块304可向第二隔离模块305发送暂停会话请求,第二隔离模块305接收到该暂停会话请求后,可向第二处理模块306发送第三通知请求,第二处理模块306响应于第三通知请求,第二处理模块306不会再向主设备发送第一控制信息,并且将之前累计的允许发送会话响应的次数置零以停止向外发送会话响应。接下来第二隔离模块305在向第一隔离模块304发送暂停会话响应,表示第二处理模块306已处于停止发送第一控制信息和停止发送第一会话响应的状态。需要说明的是,第一控制信息为由第二处理模块306生成并发送给第二隔离模块305,然后第二隔离模块305通过第一请求链路发送至第一隔离模块304并转发至第一处理模块303的信息。For example, before the first isolation module 304 disconnects the first request link, the first processing module 303 initiates two session requests, and the second processing module 306 receives the two session requests and responds to the two sessions Two corresponding session responses were generated after the request. If the second processing module 306 receives three pieces of second control information generated by the first processing module 303, and the second processing module 306 accumulates three times that the session response is allowed to be sent, the second processing module 306 can send the first processing The module 303 returns the corresponding session response. After the second processing module 306 returns the two session responses, the number of times the second processing module 306 is allowed to send the session response is one, and the second processing module 306 is still in the state of allowing the session response to be sent. state. After the first processing module 303 no longer sends the second control information after responding to the second notification request, the first isolation module 304 will disconnect the first response link with the second isolation module 305, so that the second processing module 306 cannot receive new second control information through the first response link, so the number of times the second processing module 306 is allowed to send a session response is kept as one. At this time, the first isolation module 304 may send a session suspension request to the second isolation module 305, and after receiving the session suspension request, the second isolation module 305 may send a third notification request to the second processing module 306, and the second processing module 306 In response to the third notification request, the second processing module 306 no longer sends the first control information to the master device, and sets the previously accumulated number of times the session response is allowed to be sent to zero to stop sending the session response out. Next, the second isolation module 305 sends a suspend session response to the first isolation module 304, indicating that the second processing module 306 is in a state of stopping sending the first control information and stopping sending the first session response. It should be noted that the first control information is generated by the second processing module 306 and sent to the second isolation module 305, and then the second isolation module 305 sends it to the first isolation module 304 through the first request link and forwards it to the first isolation module 305. Processing module 303 information.
可选的,第二处理模块306可按照需要主动配置VC FIFO的缓存深度,从而决定了第二处理模块306可以向外发送第一控制信息的次数,这样减少芯片面积开销。Optionally, the second processing module 306 can actively configure the cache depth of the VC FIFO as required, thereby determining the number of times the second processing module 306 can send the first control information to the outside, thus reducing the chip area overhead.
在本发明实施例中,在断开上述第一请求链路和第一响应链路后,从设备(例如上述提及的第二电源域)接收到由主设备(例如上述提及的第一电源域)发送的暂停会话请求后,从设备中的第二隔离模块还可向从设备中的第二处理模块发送第三通知请求,第二处理模块响应于第三通知请求处于停止向主设备发送控制信息和会话响应的状态,从而避免了断开第一响应链路后第二处理模块异常情况下仍然会发出控制信息和会话响应,但该控制信息和该会话响应无法得到从设备的响应,进而导致第二处理模块所在的电源域出现总线挂死的现象。In this embodiment of the present invention, after the above-mentioned first request link and the first response link are disconnected, the slave device (for example, the above-mentioned second power domain) receives a message from the master device (for example, the above-mentioned first power domain After the suspend session request sent by the power domain), the second isolation module in the slave device may also send a third notification request to the second processing module in the slave device, and the second processing module is in a state of stopping to the master device in response to the third notification request. The state of sending control information and session response, so as to avoid that the second processing module will still send control information and session response when the first response link is disconnected, but the control information and session response cannot be responded by the slave device. , which in turn causes the phenomenon that the bus hangs up in the power domain where the second processing module is located.
在一种可能的实现方式中,如图2B所示,第一处理模块303每接收到一次第三控制信息,则累计一次允许发送第二会话请求的次数;所述第二会话请求的目标从设备为第二处理模块306;所述第二会话请求为第一处理模块303通过第四请求链路发送至第一隔离模块304的会话请求;第一隔离模块304,还用于通过所述第二请求链路向第一处理模块303发送第四通知请求和通过所述第四请求链路发送所述第三控制信息;第一处理模块303,还用于:响应于所述第四通知请求,向第一隔离模块304发送第四控制信息;接收所述第三控制信息,并累计所述允许发送第二会话请求的次数;向第一隔离模块304发送所述第二会话请求;第一隔离模块304,还用于:接收所述第四控制信息,并累计允许发送第二会话响应的次数;所述第二会话响应为第一隔离模块304响应于所述第二会话请求且通过第二响应链路发送至第一处理模块303的响应;响应于所述第二会话请求并生成所述第二会话响应;向第一处理模块303发送所述第二会话响应;第一处理模块303,还用于接收所述第二会话响应。In a possible implementation manner, as shown in FIG. 2B , each time the first processing module 303 receives the third control information, it accumulates the number of times the second session request is allowed to be sent; the target of the second session request is from The device is the second processing module 306; the second session request is a session request sent by the first processing module 303 to the first isolation module 304 through the fourth request link; the first isolation module 304 is further configured to pass the The second request link sends a fourth notification request to the first processing module 303 and sends the third control information through the fourth request link; the first processing module 303 is further configured to: respond to the fourth notification request , send the fourth control information to the first isolation module 304; receive the third control information, and accumulate the number of times the second session request is allowed to be sent; send the second session request to the first isolation module 304; the first The isolation module 304 is further configured to: receive the fourth control information, and accumulate the number of times that the second session response is allowed to be sent; the second session response is that the first isolation module 304 responds to the second session request and passes the first The second response link sends the response to the first processing module 303; responds to the second session request and generates the second session response; sends the second session response to the first processing module 303; the first processing module 303 , and is further used to receive the second session response.
具体地,第一隔离模块304断开第一请求链路和第一响应链路后,第一处理模块303响应于由第一隔离模块304发送的第四通知请求,此时第一处理模块303中累计的允许发送会话请求的次数不再时刻保持为零,第一处理模块303每接收到一次由第一隔离模块304发送的第三控制信息,会累计一次允许发送第二会话请求的次数。当第一处理模块303中的允许发送第二会话请求的次数非零时,在异常情况下第一处理模块303可通过第四请求链路发送第二会话请求,此时由第一隔离模块304响应会话请求,而不是第二处理模块306响应会话请求。接下来,第一处理模块303可通过第二响应链路发送第四控制信息,第一隔离模块304每接收到一次由第一处理模块303发送的第四控制信息,会累计一次允许发送第二会话响应的数量。当第一隔离模块304中的允许发送会话响应的次数非零时,第一隔离模块304可通过第二响应链路发送第二会话响应,此时第一处理模块303可接收到第二会话响应。当第一隔离模块304响应于由第一处理模块303发起的第二会话请求并生成第二会话响应后,通过第二响应链路将该第二会话响应发送至第一处理模块303。可选的,上述提及的第二会话响应为Dummy伪响应,该Dummy伪响应可便于后续对芯片系统进行维测。Specifically, after the first isolation module 304 disconnects the first request link and the first response link, the first processing module 303 responds to the fourth notification request sent by the first isolation module 304. At this time, the first processing module 303 The accumulated number of times the session request is allowed to be sent is no longer kept zero at all times, and each time the first processing module 303 receives the third control information sent by the first isolation module 304, the number of times the second session request is allowed to be sent will be accumulated once. When the number of times allowed to send the second session request in the first processing module 303 is non-zero, the first processing module 303 can send the second session request through the fourth request link under abnormal conditions, and at this time, the first isolation module 304 Instead of the second processing module 306 responding to the session request, the session request is responded to. Next, the first processing module 303 may send the fourth control information through the second response link, and each time the first isolation module 304 receives the fourth control information sent by the first processing module 303, it will allow the sending of the second control information once. The number of session responses. When the number of times allowed to send a session response in the first isolation module 304 is non-zero, the first isolation module 304 may send the second session response through the second response link, and the first processing module 303 may receive the second session response at this time . After the first isolation module 304 responds to the second session request initiated by the first processing module 303 and generates a second session response, the second session response is sent to the first processing module 303 through the second response link. Optionally, the second session response mentioned above is a dummy dummy response, and the dummy dummy response can facilitate subsequent maintenance testing of the chip system.
需要说明的是,只有在第一处理模块累计的允许发送第二会话请求的次数非零且第一处理模块发生异常情况下第一处理模块才发送第二会话请求,且最初第二会话请求的目标响应设备为第二处理模块306,但由于第一电源域或第二电源域中的一个电源域需要进行掉电处理,不能再进行跨电源域交互,所以实际响应第二会话请求的设备为第一隔离模块304。可选的,第一隔离模块304可按照需要主动配置VC FIFO的缓存深度,从而决定了第一隔离模块304可以向外发送第三控制信息的次数,这样减少芯片面积开销。It should be noted that the first processing module sends the second session request only when the accumulated number of times the first processing module is allowed to send the second session request is non-zero and the first processing module is abnormal, and the initial second session request The target responding device is the second processing module 306, but because one of the first power domain or the second power domain needs to be powered off, and cannot perform cross-power domain interaction, the device that actually responds to the second session request is The first isolation module 304 . Optionally, the first isolation module 304 can actively configure the cache depth of the VC FIFO as required, thereby determining the number of times the first isolation module 304 can send the third control information to the outside, thus reducing the chip area overhead.
例如,在第一隔离模块304断开第一请求链路和第一响应链路后,第一隔离模块304可向第一处理模块303发送一个通知请求,第一处理模块303响应于该通知请求后,第一处理模块303中累计的允许发送会话请求的次数可不再时刻保持为零,若第一处理模块303接收到控制信息就开始累计允许发送会话请求的次数。当第一处理模块303接收到一个由第一隔离模块304通过第四请求链路发送的第三控制信息后,累计的允许发送会话请求的次数为一,则在异常情况下第一处理模块303会将本该发送给第二处理模块306的会话请 求通过第四请求链路发送给第一隔离模块304,同时第一处理模块303会通过第二响应链路向第一隔离模块304发送一个或多个第四控制信息,此时第一隔离模块304响应于该会话请求并生成相应的会话响应,由于第一隔离模块304接收到一个或多个由第一处理模块303通过第二响应链路发送的第四控制信息,则在第一隔离模块304中允许发送会话响应的次数不为零,此时第一隔离模块304处于允许发送会话响应的状态。第一隔离模块304通过第二响应链路将生成的会话响应发送给第一处理模块303。需要说明的是,上述的会话响应可为Dummy伪响应,该Dummy伪响应可便于后续对芯片系统进行维测。For example, after the first isolation module 304 disconnects the first request link and the first response link, the first isolation module 304 may send a notification request to the first processing module 303, and the first processing module 303 responds to the notification request Afterwards, the accumulated number of times the session request is allowed to be sent in the first processing module 303 may no longer remain zero at all times, and if the first processing module 303 receives the control information, it starts accumulating the number of times the session request is allowed to be sent. After the first processing module 303 receives the third control information sent by the first isolation module 304 through the fourth request link, and the accumulated number of times the session request is allowed to be sent is one, then the first processing module 303 under abnormal conditions The session request that should be sent to the second processing module 306 will be sent to the first isolation module 304 through the fourth request link, and the first processing module 303 will send an or a plurality of fourth control information, at this time, the first isolation module 304 responds to the session request and generates a corresponding session response, because the first isolation module 304 receives one or more of the first processing module 303 through the second response link If the fourth control information is sent, the number of times that the first isolation module 304 is allowed to send the session response is not zero, and the first isolation module 304 is in a state of allowing the session response to be sent. The first isolation module 304 sends the generated session response to the first processing module 303 through the second response link. It should be noted that the above-mentioned session response may be a dummy dummy response, and the dummy dummy response may facilitate subsequent maintenance testing of the chip system.
在本发明实施例中,在断开第一请求链路和第一响应链路后,从设备(例如上述提及的第二电源域)不再接收到由主设备(例如上述提及的第一电源域)发起的会话请求,但在异常情况下,主设备依旧可能向从设备发送会话请求,因此本发明实施例中将本该发送至已断链的从设备的会话请求发送给本电源域的第一隔离模块,进而避免会话请求无响应而挂死的情况,进一步,该第一隔离模块还通过第二会话响应通知第一处理模块其发出的会话请求未得到断链的从设备的真实响应。具体地,主设备中的第一处理模块还响应于由主设备中的第一隔离模块发送的第四通知请求,此时第一处理模块恢复继续累计允许发送会话请求的次数,第一处理模块每接收到一次由第一隔离模块发送的控制信息,会累计一次允许发送会话请求的次数。在允许发送会话请求的次数非零且主设备出现异常的情况下,第一处理模块可能向第一隔离模块发送本该由第二处理模块响应的送会话请求。接下来,第一隔离模块每接收到一次由第一处理模块发送的控制信息,会累计一次允许发送会话响应的次数。在第一隔离模块中的允许发送会话响应的次数非零的情况下,第一隔离模块可发送会话响应,此时第一处理模块发起的会话请求能够得到响应。因此,在主设备或者从设备其中一个电源域掉电的情况下,使得异常情况下主设备本该发给从设备的会话请求不再发送给已断链的从设备而是发送给第一隔离模块,从而避免了在主设备与从设备断链的情况下由主设备发起的会话请求无法得到从设备的响应导致主设备所处的电源域出现总线挂死的情况,从而实现对电源域进行掉电隔离保护。In this embodiment of the present invention, after the first request link and the first response link are disconnected, the slave device (for example, the second power domain mentioned above) no longer receives data from the master device (for example, the above-mentioned first power domain). A session request initiated by a power supply domain), but in an abnormal situation, the master device may still send a session request to the slave device. Therefore, in this embodiment of the present invention, the session request that should have been sent to the disconnected slave device is sent to the power supply. The first isolation module of the domain, so as to avoid the situation that the session request hangs without a response, further, the first isolation module also informs the first processing module through the second session response that the session request sent by it has not been disconnected from the slave device. real response. Specifically, the first processing module in the master device also responds to the fourth notification request sent by the first isolation module in the master device. At this time, the first processing module resumes and continues to accumulate the number of times that session requests are allowed to be sent, and the first processing module Each time the control information sent by the first isolation module is received, the number of times the session request is allowed to be sent will be accumulated. In the case that the number of times the session request is allowed to be sent is non-zero and the master device is abnormal, the first processing module may send the session sending request that should be responded by the second processing module to the first isolation module. Next, each time the first isolation module receives the control information sent by the first processing module, the number of times the session response is allowed to be sent will be accumulated. In the case that the number of times the session response is allowed to be sent in the first isolation module is non-zero, the first isolation module can send the session response, and at this time, the session request initiated by the first processing module can be responded to. Therefore, when one of the power domains of the master device or the slave device is powered off, the session request that the master device should have sent to the slave device in an abnormal situation is no longer sent to the disconnected slave device but to the first isolation device. module, so as to avoid the situation that the session request initiated by the master device cannot get the response from the slave device when the link between the master device and the slave device is disconnected. Power-off isolation protection.
在一种可能的实现方式中,如图2C所示,图2C为本发明实施例提供的一种掉电隔离装置链路示意图,第一隔离模块304,还用于接收上电请求后,通过所述第二请求链路向第一处理模块303发送第五通知请求;第一处理模块303,还用于响应于所述第五通知请求,清除累计的允许发送第二会话请求的次数,并停止接收所述第三控制信息以停止累计所述允许发送第二会话请求的次数;第一隔离模块304,还用于在第一处理模块303响应于所述第五通知请求后,断开与第一处理模块303之间的所述第四请求链路,并建立与第二隔离模块305之间的所述第一请求链路。In a possible implementation manner, as shown in FIG. 2C , FIG. 2C is a schematic diagram of a link of a power-off isolation device provided by an embodiment of the present invention. The first isolation module 304 is further configured to receive a power-on request and pass The second request link sends a fifth notification request to the first processing module 303; the first processing module 303 is further configured to, in response to the fifth notification request, clear the accumulated number of times that the second session request is allowed to be sent, and Stop receiving the third control information to stop accumulating the number of times that the second session request is allowed to be sent; the first isolation module 304 is further configured to disconnect the communication with the first processing module 303 after responding to the fifth notification request. The fourth request link between the first processing module 303 and the first request link with the second isolation module 305 are established.
可选的,当第一电源域要从下电状态改变为上电状态时,此时若第二电源域处于上电状态,则由芯片系统的电源管理器向第一隔离模块304发送上电请求;当第二电源域要从下电状态改变为上电状态时,此时若第一电源域处于上电状态,则由第二电源域向第一隔离模块304发送上电请求。Optionally, when the first power domain is to be changed from the power-off state to the power-on state, if the second power domain is in the power-on state at this time, the power manager of the chip system sends the power-on state to the first isolation module 304. request; when the second power domain is to change from the power-off state to the power-on state, if the first power domain is in the power-on state, the second power domain sends a power-on request to the first isolation module 304 .
具体地,当第一电源域要从掉电状态改变为上电状态但第二电源域一直处于上电状态或第二电源域要从掉电状态改变为上电状态但第一电源域一直处于上电状态的情况下,第一隔离模块304接收到上电请求后,主动向第一处理模块303发送第五通知请求,第一处 理模块303响应于第五通知请求将其累计的允许发送第二会话请求的次数清零并且不再接收第三控制信息,使得在第一处理模块303中累计的允许发送第二会话请求的次数保持为零,从而第一处理模块303无法向外发送会话请求。接下来第一隔离模块304会断开与第一处理模块303之间的第四请求链路,并建立与第二隔离模块305之间的所述第一请求链路。需要说明的是,在电源域上电的情况下,当第一隔离模块304断开第四请求链路后,若第一处理模块303处于允许发送会话请求状态时,第一处理模块303可再次发送会话请求,此时第一隔离模块304不再响应这些会话请求,而是将这些会话请求通过第一请求链路转发至第二隔离模块305,从而使得第一处理模块303的会话请求能够得到正常响应,实现了对电源域进行隔离保护。Specifically, when the first power domain is to be changed from the power-down state to the power-on state but the second power domain is always in the power-on state or the second power domain is to be changed from the power-down state to the power-on state but the first power domain is always in the power-on state In the case of the power-on state, after receiving the power-on request, the first isolation module 304 actively sends a fifth notification request to the first processing module 303, and the first processing module 303 responds to the fifth notification request and sends its accumulated permission to send the fifth notification request. The number of second session requests is cleared and the third control information is no longer received, so that the accumulated number of times the second session request is allowed to be sent in the first processing module 303 remains zero, so that the first processing module 303 cannot send the session request to the outside world. . Next, the first isolation module 304 will disconnect the fourth request link with the first processing module 303 and establish the first request link with the second isolation module 305 . It should be noted that when the power domain is powered on, after the first isolation module 304 disconnects the fourth request link, if the first processing module 303 is in the state of allowing the session request to be sent, the first processing module 303 can again Sending session requests, at this time, the first isolation module 304 no longer responds to these session requests, but forwards these session requests to the second isolation module 305 through the first request link, so that the session requests of the first processing module 303 can be obtained The normal response realizes the isolation protection of the power domain.
本发明实施例中,在主设备或者从设备其中一个电源域上电而另一个电源域一直处于上电状态的情况下,使得主设备不再将本该第二处理模块响应的会话请求通过第四请求链路发送给本电源域的第一隔离模块进行响应。具体地,在从设备的第一隔离模块接收到上电请求后,主动向主设备的第一处理模块发送第五通知请求,而第一处理模块则响应于该第五通知请求将其累计的允许发送会话请求的次数清零并且不再接收控制信息,使得在第一处理模块不再累计的允许发送会话请求的次数,因而在确保了第一处理模块无法向外发送会话请求的情况下,再断开第一处理模块与第一隔离模块之间的第四请求链路并建立第一隔离模块与第二隔离模块之间的第一请求链路,从而避免了若先断开第四请求链路再清零则可能导致的此时第一处理模块上仍然会发出会话请求,但该会话请求无法得到响应,进而导致第一处理模块所在的电源域出现总线挂死现象。In this embodiment of the present invention, when one power domain of the master device or the slave device is powered on while the other power domain is always powered on, the master device no longer sends the session request that the second processing module responds to through the first The four-request link is sent to the first isolation module of this power domain to respond. Specifically, after receiving the power-on request from the first isolation module of the slave device, it actively sends a fifth notification request to the first processing module of the master device, and the first processing module responds to the fifth notification request to accumulate its accumulated The number of times the session request is allowed to be sent is cleared and the control information is no longer received, so that the first processing module no longer accumulates the number of times the session request is allowed to be sent, thus ensuring that the first processing module cannot send the session request to the outside. Then disconnect the fourth request link between the first processing module and the first isolation module and establish the first request link between the first isolation module and the second isolation module, so as to avoid disconnecting the fourth request first If the link is cleared again, a session request may still be issued on the first processing module at this time, but the session request cannot be responded to, thereby causing a bus hang phenomenon in the power domain where the first processing module is located.
在一种可能的实现方式中,如图2D所示,图2D为本发明实施例提供的另一种掉电隔离装置链路示意图,第一隔离模块304,还用于在断开所述第四请求链路之后,通过所述第二请求链路向第一处理模块303发送第六通知请求;第一处理模块303,还用于响应于所述第六通知请求,停止发送所述第四控制信息;第一隔离模块304,还用于在第一处理模块303响应于所述第六通知请求后,断开与第一处理模块303之间的所述第二响应链路,并建立与第二隔离模块305之间的所述第一响应链路。In a possible implementation manner, as shown in FIG. 2D , FIG. 2D is a schematic diagram of another power-off isolation device link provided by an embodiment of the present invention. The first isolation module 304 is further configured to disconnect the first isolation device. After the four request links, send a sixth notification request to the first processing module 303 through the second request link; the first processing module 303 is further configured to stop sending the fourth notification request in response to the sixth notification request control information; the first isolation module 304 is further configured to disconnect the second response link with the first processing module 303 after the first processing module 303 responds to the sixth notification request, and establish and The first response link between the second isolation modules 305 .
可选的,若在第一隔离模块304断开上述提及的第四请求链路前,在异常情况下第一处理模块303发起了多个第二会话请求,并且第一隔离模块304将这些第二会话请求通过第四请求链路已经转发至第一隔离模块304,第一隔离模块304会响应于这些第二会话请求并生成相应的第二会话响应,此时由于第一隔离模块304在电源域上电前接收到由第一处理模块303发送的第四控制信息,所以在第一隔离模块304中累计的允许发送第二会话响应的次数非零,第一隔离模块304会将生成的第二会话响应依次通过第二响应链路发送至第一处理模块303。可选的,当第一隔离模块304发送完上述提及的第二会话响应后,第一隔离模块304会向第一处理模块303发送第六通知请求,第一处理模块303响应于第六通知请求,将停止发送第四控制信息,使得第一隔离模块304无法再接收到新的第四控制信息从而无法在继续累计允许发送第二会话响应的次数。接下来第一隔离模块304会断开与第一处理模块303之间的第二响应链路,并建立与第二隔离模块305之间的第一响应链路,使得在异常情况下由第一隔离模块304生成的会话响应无法从上述提及的第二响应链路发送至第一处理模块303,实现了对电源域进行隔离保护。Optionally, if the first processing module 303 initiates a plurality of second session requests under abnormal conditions before the first isolation module 304 disconnects the fourth request link mentioned above, and the first isolation module 304 The second session requests have been forwarded to the first isolation module 304 through the fourth request link, and the first isolation module 304 will respond to these second session requests and generate corresponding second session responses. The fourth control information sent by the first processing module 303 is received before the power domain is powered on, so the accumulated number of times the second session response is allowed to be sent in the first isolation module 304 is non-zero, and the first isolation module 304 will generate the The second session response is sequentially sent to the first processing module 303 through the second response link. Optionally, after the first isolation module 304 sends the second session response mentioned above, the first isolation module 304 sends a sixth notification request to the first processing module 303, and the first processing module 303 responds to the sixth notification. request, will stop sending the fourth control information, so that the first isolation module 304 can no longer receive new fourth control information and cannot continue to accumulate the number of times that the second session response is allowed to be sent. Next, the first isolation module 304 will disconnect the second response link with the first processing module 303, and establish a first response link with the second isolation module 305, so that the first response link is The session response generated by the isolation module 304 cannot be sent to the first processing module 303 from the above-mentioned second response link, so as to implement isolation protection for the power supply domain.
例如,在第一隔离模块304断开第四请求链路前,在异常情况下由第一处理模块303发起了两个本该由从设备(例如上述提及的第二电源域中的第二处理模块)响应的会话请求,且第一隔离模块304接收到这两个会话请求且响应于这两个会话请求后生成了两个相应的会话响应。若第一隔离模块304接收到三个由第一处理模块303生成的第四控制信息,第一隔离模块304累计的允许发送会话响应的次数为三,则第一隔离模块304可向第一处理模块303返回相应的会话响应,可选的,在第一隔离模块303返回完这两个会话响应后第一隔离模块304累计的允许发送会话响应的次数为一,第一隔离模块304依旧处于允许发送会话响应的状态。当第一处理模块303响应于由第一隔离模块304发送的第六通知请求后,第一隔离模块304会断开与第一处理模块303之间的第二响应链路,使得第一隔离模块304无法在接收到新的第四控制信息,所以第一隔离模块304累计的允许发送会话响应的次数保持为一。For example, before the first isolation module 304 disconnects the fourth request link, under abnormal conditions, the first processing module 303 initiates two slave devices (for example, the second one in the second power domain mentioned above). processing module) response session requests, and the first isolation module 304 generates two corresponding session responses after receiving the two session requests and responding to the two session requests. If the first isolation module 304 receives three fourth control messages generated by the first processing module 303, and the accumulated number of times the first isolation module 304 is allowed to send session responses is three, the first isolation module 304 can send the first processing The module 303 returns a corresponding session response. Optionally, after the first isolation module 303 returns the two session responses, the accumulated number of times the first isolation module 304 is allowed to send the session response is one, and the first isolation module 304 is still in the allowable state. The status of the sent session response. After the first processing module 303 responds to the sixth notification request sent by the first isolation module 304, the first isolation module 304 will disconnect the second response link with the first processing module 303, so that the first isolation module 304 cannot receive the new fourth control information, so the number of times that the first isolation module 304 is allowed to send a session response is kept as one.
本发明实施例中,若在主设备的第一隔离模块断开上述提及的第四求链路后,此时第一隔离模块不再响应由第一处理模块发起且本该由第二处理模块响应的会话请求。具体地,第一隔离模块主动向第一处理模块发送第六通知请求,而第一处理模块响应于第六通知请求停止向第一隔离模块发送控制信息后,再断开第一处理模块与第一隔离模块之间的第二响应链路,避免了若先断开第二响应链路再停止发送控制信息则可能导致的此时第一处理模块仍然发出控制信息,但该控制信息无法得到响应,进而导致第一处理模块所在的电源域出现总线挂死的现象。In this embodiment of the present invention, if after the first isolation module of the master device disconnects the above-mentioned fourth link, the first isolation module no longer responds to the first processing module and should be processed by the second Session requests that the module responds to. Specifically, the first isolation module actively sends a sixth notification request to the first processing module, and after the first processing module stops sending control information to the first isolation module in response to the sixth notification request, it disconnects the first processing module from the first processing module. The second response link between the isolation modules avoids the possibility that if the second response link is disconnected first and then stops sending control information, the first processing module still sends control information, but the control information cannot be responded to. , which further leads to the phenomenon that the bus hangs up in the power domain where the first processing module is located.
在一种可能的实现方式中,如图2D所示,第一隔离模块304,还用于通过所述第三请求链路向第二隔离模块305发送允许会话请求;第二隔离模块305,用于接收所述允许会话请求后,向第二处理模块306发送第七通知请求;第二处理模块306,用于响应于所述第七通知请求,处于允许发送所述第一控制信息和允许发送所述第一会话响应的状态;第二隔离模块305,还用于在第二处理模块306响应于所述第七通知请求后,通过所述第三请求链路向第一隔离模块304发送允许会话响应;第一隔离模块304,还用于接收所述允许会话响应。In a possible implementation manner, as shown in FIG. 2D , the first isolation module 304 is further configured to send a session permission request to the second isolation module 305 through the third request link; the second isolation module 305 is configured to use After receiving the session permission request, send a seventh notification request to the second processing module 306; the second processing module 306 is configured to, in response to the seventh notification request, allow the sending of the first control information and the sending of the first control information. The state of the first session response; the second isolation module 305 is further configured to send permission to the first isolation module 304 through the third request link after the second processing module 306 responds to the seventh notification request Session response; the first isolation module 304 is further configured to receive the allow session response.
具体地,在第一隔离模块304断开第四请求链路和第二响应链路后,第一隔离模块304可通过第三请求链路向第二隔离模块305发送一个允许会话请求,第二隔离模块305接收到该允许会话请求后,可向第二处理模块306发送第七通知请求,第二处理模块306响应于第七通知请求,处于允许发送第一控制信息和允许发送第一会话响应的状态。接下来第二隔离模块305在向第一隔离模块304发送允许会话响应,表示在第二处理模块306已处于允许发送第一控制信息和允许发送第一会话响应的状态。Specifically, after the first isolation module 304 disconnects the fourth request link and the second response link, the first isolation module 304 may send a session permission request to the second isolation module 305 through the third request link, and the second After receiving the session permission request, the isolation module 305 can send a seventh notification request to the second processing module 306, and the second processing module 306 responds to the seventh notification request and is in the state of allowing the sending of the first control information and allowing the sending of the first session response. status. Next, the second isolation module 305 sends a session permission response to the first isolation module 304, indicating that the second processing module 306 is in a state of allowing the sending of the first control information and allowing the sending of the first session response.
例如,在第一隔离模块304断开第四请求链路前,在异常情况下由第一处理模块303发起了两个本该由从设备(例如上述提及的第二电源域中的第二处理模块)响应的会话请求,并且第一隔离模块304接收到这两个本该由第二处理模块306响应的会话请求且响应于这两个会话请求后生成了两个相应的会话响应。若第一隔离模块304接收到三个由第一处理模块303生成的第四控制信息,第一隔离模块304累计的允许发送会话响应的数量为三,则第一隔离模块304可向第一处理模块303返回相应的会话响应,在第一隔离模块303返回完这两个会话响应后第一隔离模块304累计的允许发送会话响应的次数为一,第一隔 离模块304依旧处于允许发送会话响应的状态。当第一处理模块303不再发送第四控制信息后,第一隔离模块304会断开与第一处理模块303之间的第二响应链路,使得第一隔离模块304无法在接收到新的第四控制信息,所以第一隔离模块304累计的允许发送会话响应的次数保持为一。此时,第一隔离模块304可向第二隔离模块305发送允许会话请求,第二隔离模块305接收到该允许会话请求后,可向第二处理模块306发送第七通知请求,第二处理模块306响应于第七通知请求,第二处理模块306处于可再发送第一控制信息和允许发送会话响应的状态。接下来在第二隔离模块305在向第一隔离模块304发送允许会话响应,表示第二处理模块306已处于可再发送第一控制信息和允许发送会话响应的状态。需要说明的是,第一控制信息为由第二处理模块306生成并发送给第二隔离模块305,然后第二隔离模块305通过第一请求链路发送至第一隔离模块304并转发至第一处理模块303的信号。For example, before the first isolation module 304 disconnects the fourth request link, under abnormal conditions, the first processing module 303 initiates two slave devices (for example, the second one in the second power domain mentioned above). processing module), and the first isolation module 304 receives the two session requests that should be responded by the second processing module 306 and generates two corresponding session responses after responding to the two session requests. If the first isolation module 304 receives three fourth control messages generated by the first processing module 303, and the accumulated number of session responses allowed to be sent by the first isolation module 304 is three, the first isolation module 304 can send the first processing The module 303 returns the corresponding session response. After the first isolation module 303 returns the two session responses, the number of times the first isolation module 304 is allowed to send the session response is one, and the first isolation module 304 is still in the state of allowing the session response to be sent. state. When the first processing module 303 no longer sends the fourth control information, the first isolation module 304 will disconnect the second response link with the first processing module 303, so that the first isolation module 304 cannot receive new The fourth control information, so the accumulated number of times the session response is allowed to be sent by the first isolation module 304 remains as one. At this time, the first isolation module 304 may send a session permission request to the second isolation module 305. After receiving the session permission request, the second isolation module 305 may send a seventh notification request to the second processing module 306. The second processing module 306 In response to the seventh notification request, the second processing module 306 is in a state where the first control information can be resent and the session response is allowed to be sent. Next, the second isolation module 305 sends a session permission response to the first isolation module 304, indicating that the second processing module 306 is in a state where the first control information can be resent and the session response is permitted to be sent. It should be noted that the first control information is generated by the second processing module 306 and sent to the second isolation module 305, and then the second isolation module 305 sends it to the first isolation module 304 through the first request link and forwards it to the first isolation module 305. The signal of the processing module 303 .
在本发明实施例中,在断开第四请求链路和第二响应链路后,从设备(例如上述提及的第二电源域)接收到由主设备(例如上述提及的第一电源域)发送的允许会话请求后,可向从设备中的第二处理模块发送第七通知请求,第二处理模块响应于第七通知请求处于允许向主设备发送控制信息和会话响应的状态。接下来从设备在向主设备发送允许会话响应,表示在第二处理模块已处于允许发送第一控制信息和允许发送第一会话响应的状态。In this embodiment of the present invention, after the fourth request link and the second response link are disconnected, the slave device (for example, the above-mentioned second power domain) receives a signal from the master device (for example, the above-mentioned first power supply domain). domain), a seventh notification request may be sent to the second processing module in the slave device, and the second processing module is in a state of allowing sending of control information and session response to the master device in response to the seventh notification request. Next, the slave device sends a session permission response to the master device, which means that the second processing module is in a state of allowing the sending of the first control information and allowing the sending of the first session response.
在一种可能的实现方式中,第一隔离模块304,还用于通过所述第二请求链路向第一处理模块303发送第八通知请求;第一处理模块303,还用于响应于所述第八通知请求,发送所述第二控制信息和所述第一会话请求;第二隔离模块305,用于接收所述第二控制信息和所述第一会话请求,并将所述第二控制信息和所述第一会话请求转发至第二处理模块306;所第二处理模块306,用于:接收所述第二控制信息,并累计允许发送第一会话响应的次数;响应于所述第一会话请求生成所述第一会话响应;发送所述第一会话响应;第一处理模块303,还用于接收所述第一会话响应。In a possible implementation manner, the first isolation module 304 is further configured to send an eighth notification request to the first processing module 303 through the second request link; the first processing module 303 is further configured to respond to the The eighth notification request, sending the second control information and the first session request; the second isolation module 305, configured to receive the second control information and the first session request, and send the second control information and the first session request. The control information and the first session request are forwarded to the second processing module 306; the second processing module 306 is configured to: receive the second control information, and accumulate the number of times that the first session response is allowed to be sent; respond to the The first session request generates the first session response; sends the first session response; and the first processing module 303 is further configured to receive the first session response.
具体地,第一隔离模块304断开第四请求链路和第二响应链路后,第一处理模块303响应于由第一隔离模块304发送的第八通知请求,此时第一处理模块303中累计的允许发送会话请求的次数不再时刻保持为零,第一处理模块303每接收到一次由第二处理模块306发送的第一控制信息,会累计一次允许发送第一会话请求的次数。当第一处理模块303中的允许发送第一会话请求的次数非零时,第一处理模块303可通过第一请求链路发送第一会话请求,此时由第二处理模块306响应会话请求,而不是第一隔离模块304响应会话请求。接下来,第一处理模块303可通过第一响应链路发送第二控制信息,第二处理模块306每接收到一次由第一处理模块303发送的第二控制信息,会累计一次允许发送第一会话响应的次数。当第二处理模块306中的允许发送会话响应的次数非零时,第二处理模块306可通过第一响应链路发送第一会话响应,此时由第一处理模块303接收第一会话响应。当第二处理模块306响应于由第一处理模块303发起的第一会话请求并生成第一会话响应后,通过第一响应链路将该第一会话响应发送至第一处理模块303,完成对第一处理模块303发起的会话请求的响应。Specifically, after the first isolation module 304 disconnects the fourth request link and the second response link, the first processing module 303 responds to the eighth notification request sent by the first isolation module 304. At this time, the first processing module 303 The accumulated number of times the session request is allowed to be sent is no longer kept zero at all times, and the first processing module 303 accumulates the number of times the first session request is allowed to be sent each time it receives the first control information sent by the second processing module 306 . When the number of times allowed to send the first session request in the first processing module 303 is non-zero, the first processing module 303 can send the first session request through the first request link, and at this time, the second processing module 306 responds to the session request, Instead the first isolation module 304 responds to the session request. Next, the first processing module 303 can send the second control information through the first response link, and each time the second processing module 306 receives the second control information sent by the first processing module 303, it will allow the sending of the first The number of times the session responded. When the number of times allowed to send session responses in the second processing module 306 is non-zero, the second processing module 306 may send the first session response through the first response link, and the first processing module 303 receives the first session response at this time. After the second processing module 306 responds to the first session request initiated by the first processing module 303 and generates a first session response, it sends the first session response to the first processing module 303 through the first response link, completing the A response to the session request initiated by the first processing module 303 .
需要说明的是,由于第一会话请求和第二会话请求最初的目标从设备为第二处理模块306,但在第一电源域或第二电源域中的一个电源域需要进行掉电处理的情况下,不能在进 行跨电源域交互,导致实际响应第二会话请求的设备为第一隔离模块304。第一隔离模块304返回的第二会话响应用于通知第一处理模块303其会话请求并未得到目标从设备响应。由第二处理模块306生成的第一会话响应为第二处理模块306根据会话请求完成请求后的响应。It should be noted that, since the initial target slave device of the first session request and the second session request is the second processing module 306, but a power-off process needs to be performed in one of the first power domain or the second power domain In this case, the cross-power domain interaction cannot be performed, so that the device that actually responds to the second session request is the first isolation module 304 . The second session response returned by the first isolation module 304 is used to notify the first processing module 303 that the session request has not received a response from the target slave device. The first session response generated by the second processing module 306 is a response after the second processing module 306 completes the request according to the session request.
例如,在第一隔离模块304断开第四请求链路和第二响应链路后,第一隔离模块304可向第一处理模块303发送一个通知请求,第一处理模块303响应于该通知请求后,第一处理模块303中累计的允许发送会话请求的次数可不再时刻保持为零,若第一处理模块303接收到控制信息就开始累计允许发送会话请求的次数。当第一处理模块303接收到一个由第二处理模块306生成的第一控制信息后,累计的允许发送第一会话请求的次数为一,则第一处理模块303可通过第一请求链路将一个第一会话请求发送至第二处理模块306,同时第一处理模块303会通过第一响应链路向第二处理模块306发送一个或多个第二控制信息,此时第二处理模块306响应于该第一会话请求并生成相应的第一会话响应,由于第二处理模块306接收到一个或多个由第一处理模块303通过第一响应链路发送的第二控制信息,则在第二处理模块306中允许发送会话响应的次数非零,此时第二处理模块306处于允许发送会话响应的状态。第二处理模块306通过第一响应链路将生成的第一会话响应发送给第一处理模块303,完成第一电源域与第二电源域之间的跨电源域交互,避免了由于电源域上电或下电的状态改变引起的丢包和芯片系统挂死现象。For example, after the first isolation module 304 disconnects the fourth request link and the second response link, the first isolation module 304 may send a notification request to the first processing module 303, and the first processing module 303 responds to the notification request Afterwards, the accumulated number of times the session request is allowed to be sent in the first processing module 303 may no longer remain zero at all times, and if the first processing module 303 receives the control information, it starts accumulating the number of times the session request is allowed to be sent. After the first processing module 303 receives the first control information generated by the second processing module 306, and the accumulated number of times the first session request is allowed to be sent is one, the first processing module 303 can send the first session request through the first request link. A first session request is sent to the second processing module 306, and the first processing module 303 will send one or more second control information to the second processing module 306 through the first response link. At this time, the second processing module 306 responds In response to the first session request and the corresponding first session response is generated, since the second processing module 306 receives one or more second control information sent by the first processing module 303 through the first response link, in the second The number of times the session response is allowed to be sent in the processing module 306 is non-zero, and at this time, the second processing module 306 is in a state of allowing the session response to be sent. The second processing module 306 sends the generated first session response to the first processing module 303 through the first response link to complete the cross-power domain interaction between the first power domain and the second power domain, avoiding the Packet loss and system-on-chip hang-up caused by power-on or power-off state changes.
在本发明实施例中,在断开第四请求链路和第二响应链路后,第一隔离模块不再响应本该由从设备(例如上述提及的第二电源域)响应的会话请求,此时在第一处理模块发起且由从设备响应的会话请求,会发送到从设备的第二处理模块进行响应。具体地,主设备中的第一处理模块响应于由主设备中的第一隔离模块发送的第八通知请求,此时第一处理模块恢复继续累计允许发送会话请求的次数,第一处理模块每接收到一次由主设备发送的控制信息,会累计一次允许发送会话请求的次数。在第一处理模块中的允许发送会话请求的次数非零的情况下,第一处理模块可发送由第二处理模块响应的会话请求。接下来,从设备的第二处理模块每接收到一次由第一处理模块发送的控制信息,会累计一次允许发送会话响应的次数。在从设备中的允许发送会话响应的次数非零的情况下,从设备可发送会话响应,此时第一处理模块发起的会话请求得到从设备的响应。因此,在主设备或者从设备其中一个电源域上电而另一个电源域一直处于上电状态的情况下,使得主设备的本该发给从设备的会话请求不再发送给已断链的第一隔离模块进行相应而是发送给从设备进行响应,从而使得在电源域上电的情况下,避免了电源域挂死,实现了对电源域进行隔离保护的同时主设备向从设备发送的会话请求能够得到正常的响应。In this embodiment of the present invention, after the fourth request link and the second response link are disconnected, the first isolation module no longer responds to the session request that should be responded by the slave device (for example, the second power domain mentioned above). , the session request initiated by the first processing module and responded by the slave device will be sent to the second processing module of the slave device for response. Specifically, in response to the eighth notification request sent by the first isolation module in the master device, the first processing module in the master device resumes and continues to accumulate the number of times the session request is allowed to be sent. Once the control information sent by the master device is received, the number of times the session request is allowed to be sent will be accumulated. In the case that the number of times the session request is allowed to be sent in the first processing module is non-zero, the first processing module may send the session request responded by the second processing module. Next, each time the second processing module of the slave device receives the control information sent by the first processing module, the number of times the session response is allowed to be sent will be accumulated. In the case that the number of times that the slave device is allowed to send the session response is non-zero, the slave device can send the session response, and at this time, the session request initiated by the first processing module obtains the response from the slave device. Therefore, when one power domain of the master device or the slave device is powered on while the other power domain is always powered on, the session request that the master device should have sent to the slave device is no longer sent to the disconnected second power domain. An isolation module responds by sending a response to the slave device, so that when the power domain is powered on, the power domain is prevented from hanging up, and the session is sent from the master device to the slave device while the power domain is isolated and protected. The request can get a normal response.
为了更详细的描述本申请实施例中的掉电隔离装置将基于上述片上网络结构和会话传输方式,下面结合图3进行示例性描述,图3为本发明实施例提供的一种电源域边界实现掉电隔离保护处理装置的设计结构示意图。In order to describe the power-off isolation device in the embodiment of the present application in more detail, based on the above-mentioned on-chip network structure and session transmission mode, an exemplary description is given below with reference to FIG. 3 , which is a power domain boundary implementation provided by an embodiment of the present invention. Schematic diagram of the design structure of the power-off isolation protection processing device.
如图3所示,当图2A-图2D中的第一电源域301为图3中的PD-A510,第二电源域302为图3中的PD-B520,第一处理模块303为图3中的Master 511,第一隔离模块304为图3中的PD_M 512,第二隔离模块305为图3中的PD_S 521,第二处理模块306为图3 中的Slave 522,第一请求链路为图3中的链路530,第一响应链路为图3中的链路531。图3中的540是PD_M 512和PD_S 521之间的握手信号,协同实现电源域边界的链路530和链路531的建断链;图3中的550是电源管理器与PD_M 512的握手信号,用于控制PD-M512所在电源域边界链路的上电和下电处理;图3中的560是电源管理器与PD_S 521的握手信号,用于控制PD-S 521所在电源域边界链路的上电和下电处理。本发明实施例提供的掉电隔离装置的工作流程包括以下四种情况下的工作流程。其中,As shown in FIG. 3 , when the first power domain 301 in FIGS. 2A-2D is the PD-A510 in FIG. 3 , the second power domain 302 is the PD-B 520 in FIG. 3 , and the first processing module 303 is the PD-B 520 in FIG. 3 In the Master 511, the first isolation module 304 is the PD_M 512 in FIG. 3, the second isolation module 305 is the PD_S 521 in FIG. 3, the second processing module 306 is the Slave 522 in FIG. 3, and the first request link is For link 530 in FIG. 3 , the first response link is link 531 in FIG. 3 . 540 in Fig. 3 is the handshake signal between PD_M 512 and PD_S 521, which cooperates to realize the establishment and disconnection of the link 530 and link 531 of the power domain boundary; 550 in Fig. 3 is the handshake signal between the power manager and PD_M 512 , which is used to control the power-on and power-off processing of the power domain boundary link where PD-M512 is located; 560 in Figure 3 is the handshake signal between the power manager and PD_S 521, which is used to control the power domain boundary link where PD-S 521 is located. power-on and power-off processing. The work flow of the power-off isolation device provided by the embodiment of the present invention includes the work flow in the following four cases. in,
(1)Master 511侧掉电的工作流程:(1) Workflow for power failure on the Master 511 side:
步骤1:系统电源管理器通过将550中的pwrd_a_req置为1,请求PD-A510与PD-B 520的电源边界进入掉电隔离状态。其特征为上述提及的,向第一隔离模块304发送掉电请求。Step 1: The system power manager requests the power boundary between PD-A 510 and PD-B 520 to enter a power-down isolation state by setting pwrd_a_req in 550 to 1. It is characterized by sending a power-down request to the first isolation module 304 as mentioned above.
步骤2:PD_M512接收pwrd_a_req为1时,如果内部状态记录,PD-B520已处于掉电状态,那么进入步骤5,否则进入步骤3。需要说明的是,当第一隔离模块304接收到掉电请求后,若第二电源域处于掉电状态则直接掉电,若第二电源域处于上电状态则需要进行后续断链处理。Step 2: When PD_M512 receives pwrd_a_req as 1, if the internal state records, PD-B520 has been in a power-down state, then go to Step 5, otherwise go to Step 3. It should be noted that, after the first isolation module 304 receives the power-down request, if the second power domain is in the power-down state, the power is directly powered off, and if the second power domain is in the power-on state, subsequent disconnection processing is required.
步骤3:PD_M 512按顺序进行如下处理:Step 3: PD_M 512 performs the following processing in sequence:
步骤3.1:将pwrdm_tx(515)置为1,请求Master511不允许通过链路513发送新的请求,在Master 511内部再将tx_crdt_cnt_x置为0,并保持。其特征为上述提及的,第一隔离模块304向第一处理模块303发送第一通知请求,第一处理模块303响应与第一通知请求,清除累计的允许发送第一会话请求的次数,并停止接收所述第一控制信息以停止累计允许发送第一会话请求的次数。Step 3.1: Set pwrdm_tx(515) to 1, requesting that the Master 511 does not allow sending new requests through the link 513, and then set tx_crdt_cnt_x to 0 inside the Master 511 and keep it. It is characterized by the above-mentioned, the first isolation module 304 sends the first notification request to the first processing module 303, the first processing module 303 responds to the first notification request, clears the accumulated number of times that the first session request is allowed to be sent, and Stop receiving the first control information to stop accumulating the number of times that the first session request is allowed to be sent.
步骤3.2:等待通过链路513发送的请求所对应的响应均已通过链路514返回。链路513和链路514用于转发由Master511发起的会话请求和由Slave 522生成的会话响应。Step 3.2: Wait for the responses corresponding to the requests sent through the link 513 to be returned through the link 514 . Link 513 and link 514 are used to forward the session request initiated by Master 511 and the session response generated by Slave 522.
步骤3.3:将pwrd_rx_req516置为1,请求Master511将其内部的rx_crdt_cnt_x置为复位值,并保持。其特征对应上述提及的,第一隔离模块304向第一处理模块303发送第二通知请求,第一处理模块303响应于第二通知请求,停止发送所述第二控制信息。Step 3.3: Set pwrd_rx_req516 to 1 and request Master511 to set its internal rx_crdt_cnt_x to the reset value and keep it. The feature corresponds to the above-mentioned, the first isolation module 304 sends the second notification request to the first processing module 303, and the first processing module 303 stops sending the second control information in response to the second notification request.
步骤3.4:断开链路513与链路530,断开链路514与链路531,将链路513和链路514与PD_M中的默认从设备Default Slave连接。Step 3.4: Disconnect link 513 and link 530, disconnect link 514 and link 531, and connect link 513 and link 514 to the default slave device Default Slave in PD_M.
步骤3.5:同时将pwrdm_tx515和pwrd_rx_req516置为0,允许Master 511的tx_crdt_cnt_x接收credit,并允许其通过链路513发送请求,rx_crdt_cnt_x发送credit;后续,Master 511经链路513发送的请求,由Default Slave经链路514返回Dummy的响应,实现了掉电隔离保护。其特征对应上述提及的,第一隔离模块304,还用于通过第二请求链路向第一处理模块303发送第四通知请求和通过第四请求链路发送第三控制信息;第一处理模块303,还用于响应于第四通知请求,向第一隔离模块304发送第四控制信息;接收第三控制信息,并累计允许发送第二会话请求的数量;向第一隔离模块304发送第二会话请求;第一隔离模块304,还用于接收第四控制信息,并累计允许发送第二会话响应的次数;第二会话响应为第一隔离模块304响应于第二会话请求且通过第二响应链路发送至第一处理模块303的响应;响应于第二会话请求并生成第二会话响应;向第一处理模块303发送第二会话响应;第一处理模块303,还用于接收第二会话响应。Step 3.5: Set pwrdm_tx515 and pwrd_rx_req516 to 0 at the same time, allow tx_crdt_cnt_x of Master 511 to receive credit, and allow it to send a request through link 513, and rx_crdt_cnt_x to send credit; subsequently, the request sent by Master 511 through link 513 is processed by Default Slave. Link 514 returns Dummy's response, implementing power-down isolation protection. Its characteristics correspond to the above-mentioned, the first isolation module 304 is further configured to send the fourth notification request to the first processing module 303 through the second request link and send the third control information through the fourth request link; the first processing The module 303 is further configured to, in response to the fourth notification request, send fourth control information to the first isolation module 304; receive the third control information, and accumulate the number of second session requests allowed to be sent; The second session request; the first isolation module 304 is further configured to receive the fourth control information and accumulate the number of times the second session response is allowed to be sent; the second session response is that the first isolation module 304 responds to the second session request and passes the second session request. The response link sends the response to the first processing module 303; responds to the second session request and generates a second session response; sends the second session response to the first processing module 303; the first processing module 303 is further configured to receive the second session response Session response.
步骤3.6:将conn_req540置为1,知会PD_S521进行Slave522侧断链处理,进入步骤 4。其特征对应上述提及的,第一隔离模块304还用于通过第三请求链路向第二隔离模块305发送暂停会话请求。Step 3.6: Set conn_req540 to 1, notify PD_S521 to perform Slave522 side chain disconnection processing, and go to Step 4. The feature corresponds to the above-mentioned, the first isolation module 304 is further configured to send a session suspension request to the second isolation module 305 through the third request link.
步骤4:PD_S521并行进行如下处理后,进入步骤5Step 4: After PD_S521 performs the following processing in parallel, go to Step 5
步骤4.1:将pwrds_rx525置为1,请求Slave522将其rx_crdt_cnt_x置为复位值,不允许返回credit,并保持。其特征对应上述提及的,第二隔离模块305,用于接收暂停会话请求后,向第二处理模块306发送第三通知请求;第二处理模块306,用于响应于第三通知请求,处于停止发送所述第一控制信息的状态。Step 4.1: Set pwrds_rx525 to 1, request Slave522 to set its rx_crdt_cnt_x to the reset value, do not allow to return credit, and keep it. Its characteristics correspond to the above-mentioned, the second isolation module 305 is configured to send a third notification request to the second processing module 306 after receiving the session suspension request; the second processing module 306 is configured to respond to the third notification request and be in The state of stopping sending the first control information.
步骤4.2:将pwrds_tx526置为1,请求Slave522将其内部的tx_crdt_cnt_x置为0,并保持。其特征对应上述提及的,第二处理模块306,用于响应于第三通知请求,停止发送第一会话响应的状态;第一会话响应为第二处理模块306响应于第一会话请求且通过第一响应链路发送至第一处理模块303的响应。Step 4.2: Set pwrds_tx526 to 1, request Slave522 to set its internal tx_crdt_cnt_x to 0, and keep it. Its characteristics correspond to the above-mentioned, the second processing module 306 is used to respond to the third notification request, stop sending the state of the first session response; the first session response is that the second processing module 306 responds to the first session request and passes The first response link sends the response to the first processing module 303 .
步骤4.3:将conn_ack540置为1;对应上述提及的,第二隔离模块305,还用于在第二处理模块306响应于第三通知请求后,通过第三请求链路向第一隔离模块304发送暂停会话响应。Step 4.3: Set conn_ack540 to 1; corresponding to the above-mentioned, the second isolation module 305 is also used to send the request to the first isolation module 304 through the third request link after the second processing module 306 responds to the third notification request Send a suspend session response.
步骤5:PD_M512将pwrd_a_ack550置为1,完成掉电流程。Step 5: PD_M512 sets pwrd_a_ack550 to 1 to complete the power-down process.
(2)Master上电的工作流程:(2) Workflow of Master power-on:
步骤1:系统电源管理器通过将550中的pwrd_a_req置为0,请求PD-A 510与PD-B 520的电源边界进入上电状态。对应上述提及的,第一隔离模块304用于接收上电请求。Step 1: The system power manager requests the power boundary between PD-A 510 and PD-B 520 to enter the power-on state by setting pwrd_a_req in 550 to 0. Corresponding to the above-mentioned, the first isolation module 304 is configured to receive a power-on request.
步骤2:PD_M512接收pwrd_a_req为0时,如果内部状态记录,PD-B520已处于掉电状态,那么进入步骤5,否则进入步骤3。需要说明的是,当第一隔离模块304接收到上电请求后,若第二电源域处于掉电状态则直接上电,若第二电源域处于上电状态则需要进行后续建链处理。Step 2: When PD_M512 receives pwrd_a_req as 0, if the internal state records, PD-B520 has been in a power-down state, then go to Step 5, otherwise go to Step 3. It should be noted that, after the first isolation module 304 receives the power-on request, if the second power domain is in a power-down state, the power is directly powered on, and if the second power domain is in a power-on state, subsequent link establishment processing is required.
步骤3:PD_M 512按顺序进行如下处理:Step 3: PD_M 512 performs the following processing in sequence:
步骤3.1:将pwrdm_tx515置为1,请求Master511不允许通过链路513发送新的请求,在Master 511内部再将tx_crdt_cnt_x置为0,并保持。其特征对应上述提及的,第一隔离模块304向第一处理模块303发送第五通知请求,第一处理模块303响应于第五通知请求,清除累计的允许发送第二会话请求的次数,并停止接收所述第三控制信息以停止累计允许发送第二会话请求的次数。Step 3.1: Set pwrdm_tx515 to 1, requesting Master 511 not to send new requests through link 513, and then set tx_crdt_cnt_x to 0 inside Master 511 and keep it. Its characteristics correspond to the above-mentioned, the first isolation module 304 sends the fifth notification request to the first processing module 303, and the first processing module 303, in response to the fifth notification request, clears the accumulated number of times that the second session request is allowed to be sent, and Stop receiving the third control information to stop accumulating the number of times that the second session request is allowed to be sent.
步骤3.2:等待通过链路513发送的请求所对应的响应均已通过链路514返回。Step 3.2: Wait for the responses corresponding to the requests sent through the link 513 to be returned through the link 514 .
步骤3.3:将pwrd_rx_req516置为1,请求Master511将其内部rx_crdt_cnt_x置为复位值,并保持。其特征对应上述提及的,第一隔离模块304在断开所述第四请求链路之后,通过第二请求链路向第一处理模块303发送第六通知请求;第一处理模块303响应于第六通知请求,停止发送第四控制信息。Step 3.3: Set pwrd_rx_req516 to 1 and request Master511 to set its internal rx_crdt_cnt_x to the reset value and keep it. Its characteristics correspond to the above-mentioned, after disconnecting the fourth request link, the first isolation module 304 sends the sixth notification request to the first processing module 303 through the second request link; the first processing module 303 responds to The sixth notification request is to stop sending the fourth control information.
步骤3.4:断开链路513和链路514与Default Slave的连接,同时将Default Slave与链路513相连接RX侧的rx_crdt_cnt_x置为复位值,并不允许返回credit,与链路514相连接TX侧的tx_crdt_cnt_x置为0;将链路513与链路530的连接,链路514与链路531的连接。其特征对应上述提及的,第一隔离模块304断开与第一处理模块303之间的第四请求链路, 建立与第二隔离模块305之间的第一请求链路;第一隔离模块304断开与第一处理模块303之间的第二响应链路,建立与第二隔离模块305之间的第一响应链路。Step 3.4: Disconnect the link 513 and link 514 from the Default Slave, and set the rx_crdt_cnt_x on the RX side of the Default Slave connected to the link 513 to the reset value, and do not allow to return credit, and connect the TX to the link 514 The tx_crdt_cnt_x of the side is set to 0; the link 513 is connected to the link 530, and the link 514 is connected to the link 531. Its characteristics correspond to the above mentioned, the first isolation module 304 disconnects the fourth request link with the first processing module 303, and establishes the first request link with the second isolation module 305; the first isolation module 304 disconnects the second response link with the first processing module 303 and establishes the first response link with the second isolation module 305 .
步骤3.5:将pwrdm_tx515置为0,允许Master511的tx_crdt_cnt_x接收credit,并允许其通过链路513发送请求。Step 3.5: Set pwrdm_tx515 to 0, allow tx_crdt_cnt_x of Master511 to receive credit, and allow it to send requests through link 513.
步骤3.6:将conn_req540置为1,知会PD_S521进行Slave522侧建链处理,进入步骤4。对应上述提及的,第一隔离模块304通过第三请求链路向第二隔离模块305发送允许会话请求。Step 3.6: Set conn_req540 to 1, notify PD_S521 to perform Slave522 side chain construction, and go to Step 4. Corresponding to the above mentioned, the first isolation module 304 sends a session permission request to the second isolation module 305 through the third request link.
步骤4:PD_S521并行进行如下处理后,进入步骤6:Step 4: After PD_S521 performs the following processing in parallel, go to Step 6:
步骤4.1:将pwrds_rx525置为0,允许Slave522将其内部rx_crdt_cnt_x返回credit。其特征对应上述提及的,第二隔离模块305接收所述允许会话请求后,向第二处理模块306发送第七通知请求;第二处理模块306响应于第七通知请求,处于允许发送第一控制信息和允许发送第一会话响应的状态。Step 4.1: Set pwrds_rx525 to 0, allowing Slave522 to return its internal rx_crdt_cnt_x to credit. The feature corresponds to the above-mentioned, after the second isolation module 305 receives the session permission request, it sends the seventh notification request to the second processing module 306; Control information and status that allows the first session response to be sent.
步骤4.2:将pwrds_tx526置为0,允许Slave522通过其内部的链路524返回响应,并允许Slave522中的tx_crdt_cnt_x接收credit。Step 4.2: Set pwrds_tx526 to 0, allow Slave522 to return a response through its internal link 524, and allow tx_crdt_cnt_x in Slave522 to receive credit.
步骤4.3:将conn_ack540置为1。对应上述提及的,第二隔离模块305在第二处理模块306响应于第七通知请求后,通过第三请求链路向第一隔离模块304发送允许会话响应。Step 4.3: Set conn_ack540 to 1. Corresponding to the above, after the second processing module 306 responds to the seventh notification request, the second isolation module 305 sends a session permission response to the first isolation module 304 through the third request link.
步骤5:PD_M512将pwrd_a_ack550置为0,完成上电流程。Step 5: PD_M512 sets pwrd_a_ack550 to 0 to complete the power-on process.
步骤6:PD_M512进行如下处理后,进入步骤5:Step 6: After PD_M512 performs the following processing, go to Step 5:
步骤6.1:将pwrd_rx_req516置为0,允许rx_crdt_cnt_x发送credit。Step 6.1: Set pwrd_rx_req516 to 0 to allow rx_crdt_cnt_x to send credit.
(3)Slave侧掉电的工作流程:(3) The workflow of the power failure on the Slave side:
步骤1:系统电源管理器通过将560中的pwrd_b_req置为1,请求PD-A 510与PD-B 520的电源边界进入掉电隔离状态。Step 1: The system power manager requests the power boundary between PD-A 510 and PD-B 520 to enter a power-down isolation state by setting pwrd_b_req in 560 to 1.
步骤2:PD_S521接收pwrd_b_req为1时,如果内部状态记录,PD-A510已处于掉电状态,那么进入步骤5,否则将slv_pwron置为0,并进入步骤3;Step 2: When PD_S521 receives pwrd_b_req as 1, if the internal state records, PD-A510 has been in a power-down state, then go to step 5, otherwise set slv_pwron to 0, and go to step 3;
步骤3:PD_M 512按顺序进行如下处理:Step 3: PD_M 512 performs the following processing in sequence:
步骤3.1:将pwrdm_tx515置为1,请求Master511不允许通过链路513发送新的请求,在Master 511内部再将tx_crdt_cnt_x置为0,并保持。Step 3.1: Set pwrdm_tx515 to 1, requesting Master 511 not to send new requests through link 513, and then set tx_crdt_cnt_x to 0 inside Master 511 and keep it.
步骤3.2:等待通过链路513发送的请求所对应的响应均已通过链路514返回;Step 3.2: Wait for the response corresponding to the request sent through the link 513 to be returned through the link 514;
步骤3.3:将pwrd_rx_req516置为1,请求Master511将其内部的rx_crdt_cnt_x置为复位值,并保持。Step 3.3: Set pwrd_rx_req516 to 1 and request Master511 to set its internal rx_crdt_cnt_x to the reset value and keep it.
步骤3.4:断开链路513与链路530的连接,断开链路514与链路531的连接,将链路513和链路514与PD_M 512中的Default Slave连接;Step 3.4: Disconnect link 513 and link 530, disconnect link 514 and link 531, connect link 513 and link 514 with Default Slave in PD_M 512;
步骤3.5:同时将pwrdm_tx515和pwrd_rx_req516置为0,允许Master 511的tx_crdt_cnt_x接收credit,并允许其通过链路513发送请求,rx_crdt_cnt_x发送credit;后续,Master 511经链路513发送的请求,由Default Slave经链路514返回Dummy的响应,实现了掉电隔离保护。Step 3.5: Set pwrdm_tx515 and pwrd_rx_req516 to 0 at the same time, allow tx_crdt_cnt_x of Master 511 to receive credit, and allow it to send a request through link 513, and rx_crdt_cnt_x to send credit; subsequently, the request sent by Master 511 through link 513 is processed by Default Slave. Link 514 returns Dummy's response, implementing power-down isolation protection.
步骤3.6:将conn_req540置为1,知会PD_S521进行Slave522侧断链处理,进入步骤 4。Step 3.6: Set conn_req540 to 1, notify PD_S521 to perform Slave522 side chain disconnection processing, and go to Step 4.
步骤4:PD_S521并行进行如下处理后,进入步骤5:Step 4: After PD_S521 performs the following processing in parallel, go to Step 5:
步骤4.1:将pwrds_rx525置为1,请求Slave522将其内部的rx_crdt_cnt_x置为复位值,不允许返回credit,并保持。Step 4.1: Set pwrds_rx525 to 1, request Slave522 to set its internal rx_crdt_cnt_x to the reset value, do not allow to return credit, and keep it.
步骤4.2:将pwrds_tx526置为1,请求Slave522将其内部的tx_crdt_cnt_x置为0,并保持。Step 4.2: Set pwrds_tx526 to 1, request Slave522 to set its internal tx_crdt_cnt_x to 0, and keep it.
步骤4.3:将conn_ack540置为1。Step 4.3: Set conn_ack540 to 1.
步骤5:PD_M512将pwrd_b_ack560置为1,完成掉电流程。Step 5: PD_M512 sets pwrd_b_ack560 to 1 to complete the power-down process.
(4)Slave侧上电的工作流程:(4) The workflow of power-on on the Slave side:
步骤1:系统电源管理器通过将560中的pwrd_b_req置为0,请求PD-A 510与PD-B 520的电源边界进入上电状态。Step 1: The system power manager requests the power boundary between PD-A 510 and PD-B 520 to enter the power-on state by setting pwrd_b_req in 560 to 0.
步骤2:PD_S521接收pwrd_b_req为0时,如果内部状态记录,PD-A510已处于掉电状态,那么进入步骤5,否则将slv_pwron置为1,并进入步骤3。Step 2: When PD_S521 receives pwrd_b_req as 0, if the internal state records, PD-A510 has been powered down, then go to Step 5, otherwise set slv_pwron to 1, and go to Step 3.
步骤3:PD_M 512按顺序进行如下处理:Step 3: PD_M 512 performs the following processing in sequence:
步骤3.1:将pwrdm_tx515置为1,请求Master511不允许通过链路513发送新的请求,在Master 511内部再将tx_crdt_cnt_x置为0,并保持。Step 3.1: Set pwrdm_tx515 to 1, requesting Master 511 not to send new requests through link 513, and then set tx_crdt_cnt_x to 0 inside Master 511 and keep it.
步骤3.2:等待通过链路513发送的请求所对应的响应均已通过链路514返回。Step 3.2: Wait for the responses corresponding to the requests sent through the link 513 to be returned through the link 514 .
步骤3.3:将pwrd_rx_req516置为1,请求Master511将其内部的rx_crdt_cnt_x置为复位值,并保持。Step 3.3: Set pwrd_rx_req516 to 1 and request Master511 to set its internal rx_crdt_cnt_x to the reset value and keep it.
步骤3.4:断开链路513和链路514与Default Slave的连接,同时将Default Slave与链路513相连接RX侧的rx_crdt_cnt_x置为复位值,并不允许返回credit,与链路514相连接TX侧的tx_crdt_cnt_x置为0;将链路513与链路530的连接,链路514与链路531的连接。Step 3.4: Disconnect the link 513 and link 514 from the Default Slave, and set the rx_crdt_cnt_x on the RX side of the Default Slave connected to the link 513 to the reset value, and do not allow to return credit, and connect the TX to the link 514 The tx_crdt_cnt_x of the side is set to 0; the link 513 is connected to the link 530, and the link 514 is connected to the link 531.
步骤3.5:将pwrdm_tx515置为0,允许Master 511的tx_crdt_cnt_x接收credit,并允许其通过链路513发送请求;;Step 3.5: Set pwrdm_tx515 to 0, allow tx_crdt_cnt_x of Master 511 to receive credit, and allow it to send requests through link 513;
步骤3.6:将conn_req540置为1,知会PD_S521进行Slave522侧建链处理,进入步骤4;Step 3.6: Set conn_req540 to 1, notify PD_S521 to perform Slave522 side chain construction, and go to Step 4;
步骤4:PD_S521并行进行如下处理后,并行进入步骤5和步骤6:Step 4: After PD_S521 performs the following processing in parallel, it enters Step 5 and Step 6 in parallel:
步骤4.1:将pwrds_rx525置为0,允许Slave522将其内部的rx_crdt_cnt_x返回credit;Step 4.1: Set pwrds_rx525 to 0, allowing Slave522 to return its internal rx_crdt_cnt_x to credit;
步骤4.2:将pwrds_tx526置为0,允许Slave522通过链路524link返回响应,并允许Slave522中的tx_crdt_cnt_x接收credit;Step 4.2: Set pwrds_tx526 to 0, allow Slave522 to return a response through link 524link, and allow tx_crdt_cnt_x in Slave522 to receive credit;
步骤4.3:将conn_ack540置为1。Step 4.3: Set conn_ack540 to 1.
步骤5:PD_S521将pwrd_b_ack560置为0,完成上电流程。Step 5: PD_S521 sets pwrd_b_ack560 to 0 to complete the power-on process.
步骤6:PD_M512进行如下处理后:Step 6: After PD_M512 is processed as follows:
步骤6.1:将pwrd_rx_req516置为0,允许rx_crdt_cnt_x发送credit;Step 6.1: Set pwrd_rx_req516 to 0 to allow rx_crdt_cnt_x to send credit;
需要说明的是,只有当PD_M或者PD_S在完成上电或者掉电处理流程,进入上电或者掉电状态后,才会接受新的上下电请求。It should be noted that only when the PD_M or PD_S completes the power-on or power-off processing process and enters the power-on or power-off state, will it accept a new power-on or power-off request.
上述详细阐述了本发明实施例的装置,下面提供了本发明实施例的相关方法。The apparatus of the embodiment of the present invention is described in detail above, and the related method of the embodiment of the present invention is provided below.
请参见图4A,图4A是本发明实施例提供的一种掉电隔离方法的流程示意图,该方法适用于上述图2A-图2D中的任意一种掉电隔离装置以及包含所述掉电隔离装置的设备。该方法可以包括以下步骤S401-步骤S403。掉电隔离装置包括第一电源域和第二电源域;所述第一电源域包括第一隔离模块和第一处理模块;所述第二电源域包括第二隔离模块;所述第一处理模块每接收到一次第一控制信息,则累计一次允许发送第一会话请求的次数;所述第一会话请求为由所述第一隔离模块通过第一请求链路转发至所述第二隔离模块的会话请求。其中:Please refer to FIG. 4A . FIG. 4A is a schematic flowchart of a power-off isolation method provided by an embodiment of the present invention. The method is applicable to any of the power-off isolation devices in the above-mentioned FIGS. 2A to 2D and includes the power-off isolation device. device equipment. The method may include the following steps S401-S403. The power-off isolation device includes a first power domain and a second power domain; the first power domain includes a first isolation module and a first processing module; the second power domain includes a second isolation module; the first processing module Each time the first control information is received, the number of times that the first session request is allowed to be sent is accumulated once; session request. in:
步骤S401:第一隔离模块接收掉电请求后,通过第二请求链路向第一处理模块发送第一通知请求;Step S401: after receiving the power-down request, the first isolation module sends a first notification request to the first processing module through the second request link;
步骤S402:第一处理模块响应于第一通知请求,清除累计的允许发送第一会话请求的次数,并停止接收第一控制信息以停止累计允许发送第一会话请求的次数;Step S402: the first processing module, in response to the first notification request, clears the accumulated number of times the first session request is allowed to be sent, and stops receiving the first control information to stop accumulating the number of times that the first session request is allowed to be sent;
步骤S403:第一隔离模块在第一处理模块响应于第一通知请求后,断开与第二隔离模块之间的第一请求链路。Step S403: After the first processing module responds to the first notification request, the first isolation module disconnects the first request link with the second isolation module.
在一种可能的实现方式中,所述第一会话请求的目标从设备为所述第二电源域中包括的第二处理模块;所述第二处理模块每接收到一次第二控制信息,则累计一次允许发送第一会话响应的次数;所述第一会话响应为所述第二处理模块响应于所述第一会话请求且通过第一响应链路发送至所述第一处理模块的响应;所述方法还包括:通过所述第一隔离模块在断开所述第一请求链路之后,通过所述第二请求链路向所述第一处理模块发送第二通知请求;通过所述第一处理模块响应于所述第二通知请求,停止发送所述第二控制信息;通过所述第一隔离模块在所述第一处理模块响应于所述第二通知请求后,断开与所述第二隔离模块之间的所述第一响应链路。In a possible implementation manner, the target slave device of the first session request is the second processing module included in the second power domain; each time the second processing module receives the second control information, the Accumulate the number of times that the first session response is allowed to be sent; the first session response is the response that the second processing module sends to the first processing module through the first response link in response to the first session request; The method further includes: after disconnecting the first request link through the first isolation module, sending a second notification request to the first processing module through the second request link; A processing module stops sending the second control information in response to the second notification request; the first isolation module disconnects the first processing module from the second notification request after the first processing module responds to the second notification request the first response link between the second isolation modules.
在一种可能的实现方式中,所述方法还包括:通过所述第一隔离模块通过第三请求链路向所述第二隔离模块发送暂停会话请求;通过所述第二隔离模块接收所述暂停会话请求后,向所述第二处理模块发送第三通知请求;通过所述第二处理模块响应于所述第三通知请求,处于停止发送所述第一控制信息和停止发送所述第一会话响应的状态;通过所述第二隔离模块在所述第二处理模块响应于所述第三通知请求后,通过所述第三请求链路向所述第一隔离模块发送暂停会话响应;通过所述第一隔离模块接收所述暂停会话响应。In a possible implementation manner, the method further includes: sending a session suspension request to the second isolation module through the first isolation module through a third request link; receiving the session suspension request through the second isolation module After the session request is suspended, a third notification request is sent to the second processing module; in response to the third notification request, the second processing module is in a state of stopping sending the first control information and stopping sending the first the status of the session response; after the second processing module responds to the third notification request, the second isolation module sends a suspend session response to the first isolation module through the third request link; through The first isolation module receives the suspend session response.
在一种可能的实现方式中,所述第一处理模块每接收到一次第三控制信息,则累计一次允许发送第二会话请求的次数;所述第二会话请求的目标从设备为所述第二处理模块;所述第二会话请求为所述第一处理模块通过第四请求链路发送至所述第一隔离模块的会话请求;所述方法还包括:通过所述第一隔离模块通过所述第二请求链路向所述第一处理模块发送第四通知请求和通过所述第四请求链路发送所述第三控制信息;通过所述第一处理模块响应于所述第四通知请求,向所述第一隔离模块发送第四控制信息;接收所述第三控制信息,并累计所述允许发送第二会话请求的次数;向所述第一隔离模块发送所述第二会话请求;通过所述第一隔离模块接收所述第四控制信息,并累计允许发送第二会话响应的次数;所述第二会话响应为所述第一隔离模块响应于所述第二会话请求且通过第二响应链路发送至所述第一处理模块的响应;响应于所述第二会话请求并生成所述第二会话响应; 向所述第一处理模块发送所述第二会话响应;通过所述第一处理模块接收所述第二会话响应。In a possible implementation manner, each time the first processing module receives the third control information, the number of times the second session request is allowed to be sent is accumulated once; the target slave device of the second session request is the first two processing modules; the second session request is a session request sent by the first processing module to the first isolation module through a fourth request link; the method further includes: passing through the first isolation module through the the second request link sends a fourth notification request to the first processing module and sends the third control information through the fourth request link; and responds to the fourth notification request through the first processing module , sending fourth control information to the first isolation module; receiving the third control information, and accumulating the number of times the second session request is allowed to be sent; sending the second session request to the first isolation module; The fourth control information is received by the first isolation module, and the number of times the second session response is allowed to be sent is accumulated; the second session response is that the first isolation module responds to the second session request and passes the second session response. The second response link sends the response to the first processing module; responds to the second session request and generates the second session response; sends the second session response to the first processing module; The first processing module receives the second session response.
在一种可能的实现方式中,所述方法还包括:通过所述第一隔离模块接收上电请求后,通过所述第二请求链路向所述第一处理模块发送第五通知请求;通过所述第一处理模块响应于所述第五通知请求,清除累计的所述允许发送第二会话请求的次数,并停止接收所述第三控制信息以停止累计所述允许发送第二会话请求的次数;通过所述第一隔离模块在所述第一处理模块响应于所述第五通知请求后,断开与所述第一处理模块之间的所述第四请求链路,并建立与所述第二隔离模块之间的所述第一请求链路。In a possible implementation manner, the method further includes: after receiving the power-on request through the first isolation module, sending a fifth notification request to the first processing module through the second request link; The first processing module, in response to the fifth notification request, clears the accumulated number of times that the second session request is allowed to be sent, and stops receiving the third control information to stop accumulating the number of times that the second session request is allowed to be sent. number of times; after the first processing module responds to the fifth notification request, the first isolation module disconnects the fourth request link with the first processing module, and establishes a link with the first processing module. the first request link between the second isolation modules.
在一种可能的实现方式中,所述方法还包括:通过所述第一隔离模块在断开所述第四请求链路之后,通过所述第二请求链路向所述第一处理模块发送第六通知请求;通过所述第一处理模块响应于所述第六通知请求,停止发送所述第四控制信息;通过所述第一隔离模块在所述第一处理模块响应于所述第六通知请求后,断开与所述第一处理模块之间的所述第二响应链路,并建立与所述第二隔离模块之间的所述第一响应链路。In a possible implementation manner, the method further includes: after disconnecting the fourth request link, through the first isolation module, sending a message to the first processing module through the second request link a sixth notification request; in response to the sixth notification request by the first processing module, stop sending the fourth control information; in response to the sixth notification request in the first processing module by the first isolation module After the request is notified, the second response link with the first processing module is disconnected, and the first response link with the second isolation module is established.
在一种可能的实现方式中,所述方法还包括:通过所述第一隔离模块通过所述第三请求链路向所述第二隔离模块发送允许会话请求;通过所述第二隔离模块接收所述允许会话请求后,向所述第二处理模块发送第七通知请求;通过所述第二处理模块响应于所述第七通知请求,处于允许发送所述第一控制信息和允许发送所述第一会话响应的状态;通过所述第二隔离模块在所述第二处理模块响应于所述第七通知请求后,通过所述第三请求链路向所述第一隔离模块发送允许会话响应;通过所述第一隔离模块接收所述允许会话响应。In a possible implementation manner, the method further includes: sending a session permission request to the second isolation module through the third request link through the first isolation module; receiving through the second isolation module After the session request is allowed, a seventh notification request is sent to the second processing module; in response to the seventh notification request, the second processing module is in the process of allowing the sending of the first control information and allowing the sending of the The state of the first session response; after the second processing module responds to the seventh notification request through the second isolation module, a session permission response is sent to the first isolation module through the third request link ; Receive the allowed session response by the first isolation module.
在一种可能的实现方式中,所述方法还包括:通过所述第一隔离模块通过所述第二请求链路向所述第一处理模块发送第八通知请求;通过所述第一处理模块响应于所述第八通知请求,发送所述第二控制信息和所述第一会话请求;通过所述第二隔离模块接收所述第二控制信息和所述第一会话请求,并将所述第二控制信息和所述第一会话请求转发至所述第二处理模块;通过所第二处理模块接收所述第二控制信息,并累计所述允许发送第一会话响应的次数;响应于所述第一会话请求生成所述第一会话响应;发送所述第一会话响应;通过所述第一处理模块接收所述第一会话响应。In a possible implementation manner, the method further includes: sending, by the first isolation module, an eighth notification request to the first processing module through the second request link; In response to the eighth notification request, the second control information and the first session request are sent; the second control information and the first session request are received by the second isolation module, and the The second control information and the first session request are forwarded to the second processing module; the second control information is received by the second processing module, and the number of times that the first session response is allowed to be sent is accumulated; generating the first session response from the first session request; sending the first session response; and receiving the first session response through the first processing module.
需要说明的是,本发明实施例中所描述的掉电隔离方法中各个步骤的实现在所述的装置实施例中的掉电隔离装置中完成,此处不再赘述。It should be noted that, the implementation of each step in the power-off isolation method described in the embodiment of the present invention is completed in the power-off isolation device in the device embodiment, and details are not repeated here.
请参见图4B,图4B为本发明实施例提供的一种用户使用应用用户界面示意图,本发明实施例提供的一种掉电隔离装置应用于电子设备。关于掉电隔离装置的相关描述可以参见上述图2A-图2D中相关描述,此处不再赘述。如图4B所示,图中当用户想运行安装于电子设备上的某个社交应用,如微信
Figure PCTCN2021075752-appb-000001
应用程序,请参见图4B中的用户界面71,此时用户可通过电子设备的输入设备如显示屏点击微信
Figure PCTCN2021075752-appb-000002
的图标701。接下来请参见用户界面72,此时通过账号输入框702和密码输入框703,提示用户通过填写账号和密码登录进入微信
Figure PCTCN2021075752-appb-000003
应用界面即用户界面73。假设用户点击了与用户Arvin的聊天窗口,若存储聊天记录的存储模块处于掉电状态,此时会出现闪退进入用户界面71,通过将本发明实施例应用到电子设备中,可避免电子设备在访问掉电模块时出现的死机情况。
Referring to FIG. 4B , FIG. 4B is a schematic diagram of a user interface for using an application provided by an embodiment of the present invention. A power-off isolation device provided by an embodiment of the present invention is applied to an electronic device. For the relevant description of the power-off isolation device, reference may be made to the relevant descriptions in FIG. 2A to FIG. 2D above, which will not be repeated here. As shown in Figure 4B, when the user wants to run a social application installed on the electronic device, such as WeChat
Figure PCTCN2021075752-appb-000001
For the application program, please refer to the user interface 71 in FIG. 4B, at this time, the user can click WeChat through the input device of the electronic device such as the display screen
Figure PCTCN2021075752-appb-000002
icon 701. Next, please refer to the user interface 72. At this time, through the account input box 702 and the password input box 703, the user is prompted to log in to WeChat by filling in the account number and password.
Figure PCTCN2021075752-appb-000003
The application interface is the user interface 73 . Assuming that the user clicks the chat window with user Arvin, if the storage module storing the chat record is in a power-off state, a flashback will appear to enter the user interface 71 at this time. By applying the embodiment of the present invention to the electronic device, the electronic device can be avoided. A crash when accessing a powered-down module.
本申请提供一种半导体芯片,可包括上述第一方面中的任意一种实现方式所涉及的掉电隔离装置。The present application provides a semiconductor chip, which may include the power-off isolation device involved in any one of the implementation manners of the first aspect.
本申请提供了一种芯片系统,该芯片系统包括上述第一方面中的任意一种实现方式所涉及的掉电隔离装置。该芯片系统,可以由芯片构成,也可以包含芯片和其它分立器件。The present application provides a chip system, where the chip system includes the power-off isolation device involved in any one of the implementation manners of the first aspect above. The chip system may be composed of chips, or may include chips and other discrete devices.
本申请提供一种电子设备,包括处理器和存储器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码来执行上述第一方面中的任意一种实现方式所涉及的掉电隔离装置。The present application provides an electronic device, including a processor and a memory, wherein the memory is used for storing program codes, and the processor is used for calling the program codes stored in the memory to execute any one of the above-mentioned first aspects. The power-off isolation device involved in the method.
本申请提供一种片上系统SoC芯片,该SoC芯片包括上述第一方面中的任意一种实现方式所涉及的掉电隔离装置。该SoC芯片,可以由芯片构成,也可以包含芯片和其他分立器件。The present application provides a system-on-chip SoC chip, where the SoC chip includes the power-off isolation device involved in any one of the implementation manners of the first aspect. The SoC chip may be composed of chips, or may include chips and other discrete devices.
本申请提供一种存储设备,该存储设备具有实现上述第二方面中的任意一种掉电隔离方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。The present application provides a storage device having the function of implementing any one of the power-off isolation methods in the second aspect above. This function can be implemented by hardware or by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above functions.
本申请提供一种终端,该终端包括主机,该主机包括上述第一方面中的任意一种实现方式所涉及的掉电隔离装置。该终端还可以包括通信接口,用于该终端与其它设备或通信网络通信。The present application provides a terminal, where the terminal includes a host, and the host includes the power-off isolation device involved in any one of the implementation manners of the above-mentioned first aspect. The terminal may also include a communication interface for the terminal to communicate with other devices or a communication network.
本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,该计算机程序被存储设备执行时实现上述第二方面中任意一项所述的掉电隔离方法的流程。The present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a storage device, implements the flow of the power-off isolation method according to any one of the second aspect above.
本发明实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被存储设备执行时,使得存储设备可以执行上述第二方面中任意一项所述的掉电隔离方法的流程。An embodiment of the present invention provides a computer program, where the computer program includes instructions, when the computer program is executed by a storage device, the storage device can execute the flow of the power-off isolation method described in any one of the second aspect above.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。In the above-mentioned embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。It should be noted that, for the sake of simple description, the foregoing method embodiments are all expressed as a series of action combinations, but those skilled in the art should know that the present application is not limited by the described action sequence. Because in accordance with the present application, certain steps may be performed in other orders or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the device embodiments described above are only illustrative. For example, the division of the above-mentioned units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated. to another system, or some features can be ignored, or not implemented. On the other hand, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical or other forms.
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described above as separate components may or may not be physically separated, and components shown as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit. The above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-Only Memory,缩写:ROM)或者随机存取存储器(Random Access Memory,缩写:RAM)等各种可以存储程序代码的介质。If the above-mentioned integrated units are implemented in the form of software functional units and sold or used as independent products, they may be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc., specifically a processor in the computer device) to execute all or part of the steps of the foregoing methods in the various embodiments of the present application. Wherein, the aforementioned storage medium may include: U disk, mobile hard disk, magnetic disk, optical disk, Read-Only Memory (Read-Only Memory, abbreviation: ROM) or Random Access Memory (Random Access Memory, abbreviation: RAM), etc. A medium that can store program code.
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。As mentioned above, the above embodiments are only used to illustrate the technical solutions of the present application, but not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand: The technical solutions described in the embodiments are modified, or some technical features thereof are equivalently replaced; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions in the embodiments of the present application.

Claims (18)

  1. 一种掉电隔离装置,其特征在于,包括:所述掉电隔离装置包括第一电源域和第二电源域;所述第一电源域包括第一隔离模块和第一处理模块;所述第二电源域包括第二隔离模块;所述第一处理模块每接收到一次第一控制信息,则累计一次允许发送第一会话请求的次数;所述第一会话请求为由所述第一隔离模块通过第一请求链路转发至所述第二隔离模块的会话请求;A power-off isolation device is characterized in that, comprising: the power-off isolation device includes a first power supply domain and a second power supply domain; the first power supply domain includes a first isolation module and a first processing module; the first power supply domain includes a first isolation module and a first processing module; The second power domain includes a second isolation module; each time the first processing module receives the first control information, it accumulates the number of times the first session request is allowed to be sent; the first session request is sent by the first isolation module A session request forwarded to the second isolation module through the first request link;
    所述第一隔离模块,用于接收掉电请求后,通过第二请求链路向所述第一处理模块发送第一通知请求;The first isolation module is configured to send a first notification request to the first processing module through the second request link after receiving the power-down request;
    所述第一处理模块,用于响应于所述第一通知请求,清除累计的所述允许发送第一会话请求的次数,并停止接收所述第一控制信息以停止累计所述允许发送第一会话请求的次数;The first processing module is configured to, in response to the first notification request, clear the accumulated number of times of the first session request allowed to be sent, and stop receiving the first control information to stop accumulating the first allowed to send the first session request. the number of session requests;
    所述第一隔离模块,还用于在所述第一处理模块响应于所述第一通知请求后,断开与所述第二隔离模块之间的所述第一请求链路。The first isolation module is further configured to disconnect the first request link with the second isolation module after the first processing module responds to the first notification request.
  2. 根据权利要求1所述的装置,其特征在于,所述第一会话请求的目标响应设备为所述第二电源域中包括的第二处理模块;所述第二处理模块每接收到一次第二控制信息,则累计一次允许发送第一会话响应的次数;所述第一会话响应为所述第二处理模块响应于所述第一会话请求且通过第一响应链路发送至所述第一处理模块的响应;The apparatus according to claim 1, wherein the target responding device of the first session request is a second processing module included in the second power domain; each time the second processing module receives the second control information, the number of times the first session response is allowed to be sent is accumulated once; the first session response is that the second processing module responds to the first session request and sends it to the first processing module through the first response link the module's response;
    所述第一隔离模块,还用于在断开所述第一请求链路之后,通过所述第二请求链路向所述第一处理模块发送第二通知请求;The first isolation module is further configured to send a second notification request to the first processing module through the second request link after disconnecting the first request link;
    所述第一处理模块,还用于响应于所述第二通知请求,停止发送所述第二控制信息;The first processing module is further configured to stop sending the second control information in response to the second notification request;
    所述第一隔离模块,还用于在所述第一处理模块响应于所述第二通知请求后,断开与所述第二隔离模块之间的所述第一响应链路。The first isolation module is further configured to disconnect the first response link with the second isolation module after the first processing module responds to the second notification request.
  3. 根据权利要求2所述的装置,其特征在于,所述第一隔离模块,还用于通过第三请求链路向所述第二隔离模块发送暂停会话请求;The apparatus according to claim 2, wherein the first isolation module is further configured to send a session suspension request to the second isolation module through a third request link;
    所述第二隔离模块,用于接收所述暂停会话请求后,向所述第二处理模块发送第三通知请求;the second isolation module, configured to send a third notification request to the second processing module after receiving the session suspension request;
    所述第二处理模块,用于响应于所述第三通知请求,处于停止发送所述第一控制信息和停止发送所述第一会话响应的状态;The second processing module is configured to, in response to the third notification request, be in a state of stopping sending the first control information and stopping sending the first session response;
    所述第二隔离模块,还用于在所述第二处理模块响应于所述第三通知请求后,通过所述第三请求链路向所述第一隔离模块发送暂停会话响应;The second isolation module is further configured to send a session suspension response to the first isolation module through the third request link after the second processing module responds to the third notification request;
    所述第一隔离模块,还用于接收所述暂停会话响应。The first isolation module is further configured to receive the session suspension response.
  4. 根据权利要求1-3所述的任意装置,其特征在于,所述第一处理模块每接收到一次第三控制信息,则累计一次允许发送第二会话请求的次数;所述第二会话请求的目标响应设备为所述第二处理模块;所述第二会话请求为所述第一处理模块通过第四请求链路发送至所述第一隔离模块的会话请求;The device according to any one of claims 1-3, wherein each time the first processing module receives the third control information, the number of times the second session request is allowed to be sent is accumulated once; The target response device is the second processing module; the second session request is a session request sent by the first processing module to the first isolation module through a fourth request link;
    所述第一隔离模块,还用于通过所述第二请求链路向所述第一处理模块发送第四通知请求和通过所述第四请求链路发送所述第三控制信息;The first isolation module is further configured to send a fourth notification request to the first processing module through the second request link and send the third control information through the fourth request link;
    所述第一处理模块,还用于:The first processing module is also used for:
    响应于所述第四通知请求,向所述第一隔离模块发送第四控制信息;In response to the fourth notification request, sending fourth control information to the first isolation module;
    接收所述第三控制信息,并累计所述允许发送第二会话请求的次数;receiving the third control information, and accumulating the number of times that the second session request is allowed to be sent;
    向所述第一隔离模块发送所述第二会话请求;sending the second session request to the first isolation module;
    所述第一隔离模块,还用于:The first isolation module is also used for:
    接收所述第四控制信息,并累计允许发送第二会话响应的次数;所述第二会话响应为所述第一隔离模块响应于所述第二会话请求且通过第二响应链路发送至所述第一处理模块的响应;Receiving the fourth control information, and accumulating the number of times that the second session response is allowed to be sent; the second session response is that the first isolation module responds to the second session request and sends it to the user through the second response link. Describe the response of the first processing module;
    响应于所述第二会话请求并生成所述第二会话响应;responding to the second session request and generating the second session response;
    向所述第一处理模块发送所述第二会话响应;sending the second session response to the first processing module;
    所述第一处理模块,还用于接收所述第二会话响应。The first processing module is further configured to receive the second session response.
  5. 根据权利要求2-4所述的任意装置,其特征在于,所述第一隔离模块,还用于接收上电请求后,通过所述第二请求链路向所述第一处理模块发送第五通知请求;The device according to any one of claims 2-4, wherein the first isolation module is further configured to, after receiving a power-on request, send a fifth request to the first processing module through the second request link notification request;
    所述第一处理模块,还用于响应于所述第五通知请求,清除累计的所述允许发送第二会话请求的次数,并停止接收所述第三控制信息以停止累计所述允许发送第二会话请求的次数;The first processing module is further configured to, in response to the fifth notification request, clear the accumulated number of times that the second session request is allowed to be sent, and stop receiving the third control information to stop accumulating the number of times that the second session request is allowed to be sent. The number of two-session requests;
    所述第一隔离模块,还用于在所述第一处理模块响应于所述第五通知请求后,断开与所述第一处理模块之间的所述第四请求链路,并建立与所述第二隔离模块之间的所述第一请求链路。The first isolation module is further configured to disconnect the fourth request link with the first processing module after the first processing module responds to the fifth notification request, and establish a link with the first processing module. the first request link between the second isolation modules.
  6. 根据权利要求5所述的装置,其特征在于,所述第一隔离模块,还用于在断开所述第四请求链路之后,通过所述第二请求链路向所述第一处理模块发送第六通知请求;The apparatus according to claim 5, wherein the first isolation module is further configured to, after disconnecting the fourth request link, send the request to the first processing module through the second request link send a sixth notification request;
    所述第一处理模块,还用于响应于所述第六通知请求,停止发送所述第四控制信息;The first processing module is further configured to stop sending the fourth control information in response to the sixth notification request;
    所述第一隔离模块,还用于在所述第一处理模块响应于所述第六通知请求后,断开与所述第一处理模块之间的所述第二响应链路,并建立与所述第二隔离模块之间的所述第一响应链路。The first isolation module is further configured to disconnect the second response link with the first processing module after the first processing module responds to the sixth notification request, and establish a connection with the first processing module. the first response link between the second isolation modules.
  7. 根据权利要求5-6所述的任意装置,其特征在于,所述第一隔离模块,还用于通过所述第三请求链路向所述第二隔离模块发送允许会话请求;The device according to any one of claims 5-6, wherein the first isolation module is further configured to send a session permission request to the second isolation module through the third request link;
    所述第二隔离模块,用于接收所述允许会话请求后,向所述第二处理模块发送第七通知请求;the second isolation module, configured to send a seventh notification request to the second processing module after receiving the session permission request;
    所述第二处理模块,用于响应于所述第七通知请求,处于允许发送所述第一控制信息和允许发送所述第一会话响应的状态;the second processing module, configured to be in a state of allowing the sending of the first control information and allowing the sending of the first session response in response to the seventh notification request;
    所述第二隔离模块,还用于在所述第二处理模块响应于所述第七通知请求后,通过所述第三请求链路向所述第一隔离模块发送允许会话响应;The second isolation module is further configured to send a session permission response to the first isolation module through the third request link after the second processing module responds to the seventh notification request;
    所述第一隔离模块,还用于接收所述允许会话响应。The first isolation module is further configured to receive the session permission response.
  8. 根据权利要求5-7所述的任意装置,其特征在于,所述第一隔离模块,还用于通过所述第二请求链路向所述第一处理模块发送第八通知请求;The device according to any one of claims 5-7, wherein the first isolation module is further configured to send an eighth notification request to the first processing module through the second request link;
    所述第一处理模块,还用于响应于所述第八通知请求,发送所述第二控制信息和所述第一会话请求;The first processing module is further configured to send the second control information and the first session request in response to the eighth notification request;
    所述第二隔离模块,用于接收所述第二控制信息和所述第一会话请求,并将所述第二 控制信息和所述第一会话请求转发至所述第二处理模块;The second isolation module is configured to receive the second control information and the first session request, and forward the second control information and the first session request to the second processing module;
    所第二处理模块,用于:The second processing module is used for:
    接收所述第二控制信息,并累计所述允许发送第一会话响应的次数;receiving the second control information, and accumulating the number of times the first session response is allowed to be sent;
    响应于所述第一会话请求生成所述第一会话响应;generating the first session response in response to the first session request;
    发送所述第一会话响应;sending the first session response;
    所述第一处理模块,还用于接收所述第一会话响应。The first processing module is further configured to receive the first session response.
  9. 一种掉电隔离方法,其特征在于,应用于掉电隔离装置,所述掉电隔离装置包括第一电源域和第二电源域;所述第一电源域包括第一隔离模块和第一处理模块;所述第二电源域包括第二隔离模块;所述第一处理模块每接收到一次第一控制信息,则累计一次允许发送第一会话请求的次数;所述第一会话请求为由所述第一隔离模块通过第一请求链路转发至所述第二隔离模块的会话请求;所述方法,包括:A power-off isolation method, characterized in that it is applied to a power-off isolation device, the power-off isolation device includes a first power supply domain and a second power supply domain; the first power supply domain includes a first isolation module and a first processing The second power domain includes a second isolation module; each time the first processing module receives the first control information, it accumulates the number of times that the first session request is allowed to be sent; The first isolation module forwards the session request to the second isolation module through the first request link; the method includes:
    通过所述第一隔离模块接收掉电请求后,通过第二请求链路向所述第一处理模块发送第一通知请求;After receiving the power-down request through the first isolation module, send a first notification request to the first processing module through a second request link;
    通过所述第一处理模块响应于所述第一通知请求,清除累计的所述允许发送第一会话请求的次数,并停止接收所述第一控制信息以停止累计所述允许发送第一会话请求的次数;In response to the first notification request, the first processing module clears the accumulated number of times the first session request is allowed to be sent, and stops receiving the first control information to stop accumulating the first session request allowed to be sent the number of times;
    通过所述第一隔离模块在所述第一处理模块响应于所述第一通知请求后,断开与所述第二隔离模块之间的所述第一请求链路。Through the first isolation module, after the first processing module responds to the first notification request, the first request link with the second isolation module is disconnected.
  10. 根据权利要求9所述的方法,其特征在于,所述第一会话请求的目标从设备为所述第二电源域中包括的第二处理模块;所述第二处理模块每接收到一次第二控制信息,则累计一次允许发送第一会话响应的次数;所述第一会话响应为所述第二处理模块响应于所述第一会话请求且通过第一响应链路发送至所述第一处理模块的响应;所述方法还包括:The method according to claim 9, wherein the target slave device of the first session request is a second processing module included in the second power domain; each time the second processing module receives a second control information, the number of times the first session response is allowed to be sent is accumulated once; the first session response is that the second processing module responds to the first session request and sends it to the first processing module through the first response link the response of the module; the method further includes:
    通过所述第一隔离模块在断开所述第一请求链路之后,通过所述第二请求链路向所述第一处理模块发送第二通知请求;After disconnecting the first request link through the first isolation module, send a second notification request to the first processing module through the second request link;
    通过所述第一处理模块响应于所述第二通知请求,停止发送所述第二控制信息;Stop sending the second control information by the first processing module in response to the second notification request;
    通过所述第一隔离模块在所述第一处理模块响应于所述第二通知请求后,断开与所述第二隔离模块之间的所述第一响应链路。After the first processing module responds to the second notification request by the first isolation module, the first response link with the second isolation module is disconnected.
  11. 根据权利要求10所述的方法,其特征在于,所述方法还包括:The method of claim 10, wherein the method further comprises:
    通过所述第一隔离模块通过第三请求链路向所述第二隔离模块发送暂停会话请求;Send a session suspension request to the second isolation module through the first isolation module through a third request link;
    通过所述第二隔离模块接收所述暂停会话请求后,向所述第二处理模块发送第三通知请求;After receiving the session suspension request by the second isolation module, send a third notification request to the second processing module;
    通过所述第二处理模块响应于所述第三通知请求,处于停止发送所述第一控制信息和停止发送所述第一会话响应的状态;In response to the third notification request, the second processing module is in a state of stopping sending the first control information and stopping sending the first session response;
    通过所述第二隔离模块在所述第二处理模块响应于所述第三通知请求后,通过所述第三请求链路向所述第一隔离模块发送暂停会话响应;After the second processing module responds to the third notification request by the second isolation module, sending a session suspension response to the first isolation module through the third request link;
    通过所述第一隔离模块接收所述暂停会话响应。The suspend session response is received by the first isolation module.
  12. 根据权利要求9-11所述的任意方法,其特征在于,所述第一处理模块每接收到一次第三控制信息,则累计一次允许发送第二会话请求的次数;所述第二会话请求的目标从 设备为所述第二处理模块;所述第二会话请求为所述第一处理模块通过第四请求链路发送至所述第一隔离模块的会话请求;所述方法还包括:The method according to any one of claims 9-11, wherein each time the first processing module receives the third control information, the number of times the second session request is allowed to be sent is accumulated once; The target slave device is the second processing module; the second session request is a session request sent by the first processing module to the first isolation module through a fourth request link; the method further includes:
    通过所述第一隔离模块通过所述第二请求链路向所述第一处理模块发送第四通知请求和通过所述第四请求链路发送所述第三控制信息;Send a fourth notification request to the first processing module through the first isolation module through the second request link and send the third control information through the fourth request link;
    通过所述第一处理模块响应于所述第四通知请求,向所述第一隔离模块发送第四控制信息;接收所述第三控制信息,并累计所述允许发送第二会话请求的次数;向所述第一隔离模块发送所述第二会话请求;In response to the fourth notification request, the first processing module sends fourth control information to the first isolation module; receives the third control information, and accumulates the number of times that the second session request is allowed to be sent; sending the second session request to the first isolation module;
    通过所述第一隔离模块接收所述第四控制信息,并累计允许发送第二会话响应的次数;所述第二会话响应为所述第一隔离模块响应于所述第二会话请求且通过第二响应链路发送至所述第一处理模块的响应;响应于所述第二会话请求并生成所述第二会话响应;向所述第一处理模块发送所述第二会话响应;The fourth control information is received by the first isolation module, and the number of times the second session response is allowed to be sent is accumulated; the second session response is that the first isolation module responds to the second session request and passes the second session response. The second response link sends the response to the first processing module; responds to the second session request and generates the second session response; sends the second session response to the first processing module;
    通过所述第一处理模块接收所述第二会话响应。The second session response is received by the first processing module.
  13. 根据权利要求10-12所述的任意方法,其特征在于,所述方法还包括:The method according to any of claims 10-12, wherein the method further comprises:
    通过所述第一隔离模块接收上电请求后,通过所述第二请求链路向所述第一处理模块发送第五通知请求;After receiving the power-on request through the first isolation module, send a fifth notification request to the first processing module through the second request link;
    通过所述第一处理模块响应于所述第五通知请求,清除累计的所述允许发送第二会话请求的次数,并停止接收所述第三控制信息以停止累计所述允许发送第二会话请求的次数;In response to the fifth notification request, the first processing module clears the accumulated number of times the second session request is allowed to be sent, and stops receiving the third control information to stop accumulating the second session request allowed to be sent the number of times;
    通过所述第一隔离模块在所述第一处理模块响应于所述第五通知请求后,断开与所述第一处理模块之间的所述第四请求链路,并建立与所述第二隔离模块之间的所述第一请求链路。After the first processing module responds to the fifth notification request, the first isolation module disconnects the fourth request link with the first processing module, and establishes a link with the first processing module. the first request link between two isolation modules.
  14. 根据权利要求13所述的方法,其特征在于,所述方法还包括:The method of claim 13, wherein the method further comprises:
    通过所述第一隔离模块在断开所述第四请求链路之后,通过所述第二请求链路向所述第一处理模块发送第六通知请求;After disconnecting the fourth request link through the first isolation module, send a sixth notification request to the first processing module through the second request link;
    通过所述第一处理模块响应于所述第六通知请求,停止发送所述第四控制信息;Stop sending the fourth control information by the first processing module in response to the sixth notification request;
    通过所述第一隔离模块在所述第一处理模块响应于所述第六通知请求后,断开与所述第一处理模块之间的所述第二响应链路,并建立与所述第二隔离模块之间的所述第一响应链路。After the first processing module responds to the sixth notification request, the first isolation module disconnects the second response link with the first processing module, and establishes a link with the first processing module. the first response link between two isolation modules.
  15. 根据权利要求13-14所述的任意方法,其特征在于,所述方法还包括:The method according to any of claims 13-14, wherein the method further comprises:
    通过所述第一隔离模块通过所述第三请求链路向所述第二隔离模块发送允许会话请求;Send a session permission request to the second isolation module through the third request link by the first isolation module;
    通过所述第二隔离模块接收所述允许会话请求后,向所述第二处理模块发送第七通知请求;After receiving the session permission request through the second isolation module, send a seventh notification request to the second processing module;
    通过所述第二处理模块响应于所述第七通知请求,处于允许发送所述第一控制信息和允许发送所述第一会话响应的状态;Responding to the seventh notification request by the second processing module, being in a state of allowing the sending of the first control information and allowing the sending of the first session response;
    通过所述第二隔离模块在所述第二处理模块响应于所述第七通知请求后,通过所述第三请求链路向所述第一隔离模块发送允许会话响应;After the second processing module responds to the seventh notification request by the second isolation module, send a session permission response to the first isolation module through the third request link;
    通过所述第一隔离模块接收所述允许会话响应。The allow session response is received by the first isolation module.
  16. 根据权利要求13-15所述的任意方法,其特征在于,所述方法还包括:The method according to any of claims 13-15, wherein the method further comprises:
    通过所述第一隔离模块通过所述第二请求链路向所述第一处理模块发送第八通知请求;Send an eighth notification request to the first processing module through the first isolation module through the second request link;
    通过所述第一处理模块响应于所述第八通知请求,发送所述第二控制信息和所述第一会话请求;Sending the second control information and the first session request by the first processing module in response to the eighth notification request;
    通过所述第二隔离模块接收所述第二控制信息和所述第一会话请求,并将所述第二控制信息和所述第一会话请求转发至所述第二处理模块;receiving the second control information and the first session request by the second isolation module, and forwarding the second control information and the first session request to the second processing module;
    通过所第二处理模块接收所述第二控制信息,并累计所述允许发送第一会话响应的次数;响应于所述第一会话请求生成所述第一会话响应;发送所述第一会话响应;The second control information is received by the second processing module, and the number of times the first session response is allowed to be sent is accumulated; the first session response is generated in response to the first session request; the first session response is sent ;
    通过所述第一处理模块接收所述第一会话响应。The first session response is received by the first processing module.
  17. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求9-16任意一项所述的方法。A computer-readable storage medium, characterized in that, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described in any one of the preceding claims 9-16 is implemented.
  18. 一种计算机程序,其特征在于,所述计算机可读程序包括指令,当所述计算机程序被处理器执行时,使得所述处理器执行如上述权利要求9-16中任意一项所述的方法。A computer program, characterized in that the computer-readable program includes instructions that, when the computer program is executed by a processor, cause the processor to perform the method according to any one of the preceding claims 9-16 .
PCT/CN2021/075752 2021-02-07 2021-02-07 Power-down isolation device and related method WO2022165790A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2021/075752 WO2022165790A1 (en) 2021-02-07 2021-02-07 Power-down isolation device and related method
CN202180092640.8A CN116762049A (en) 2021-02-07 2021-02-07 Power-down isolation device and related method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/075752 WO2022165790A1 (en) 2021-02-07 2021-02-07 Power-down isolation device and related method

Publications (1)

Publication Number Publication Date
WO2022165790A1 true WO2022165790A1 (en) 2022-08-11

Family

ID=82741922

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/075752 WO2022165790A1 (en) 2021-02-07 2021-02-07 Power-down isolation device and related method

Country Status (2)

Country Link
CN (1) CN116762049A (en)
WO (1) WO2022165790A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625656A (en) * 2009-07-28 2010-01-13 杭州华三通信技术有限公司 Method and device for processing abnormity of PCI system
US20130268705A1 (en) * 2012-04-04 2013-10-10 Arm Limited, Apparatus and method for providing a bidirectional communications link between a master device and a slave device
CN108628691A (en) * 2017-03-22 2018-10-09 三星电子株式会社 Include the system and method for Deadlock Detection device
CN110546590A (en) * 2017-04-27 2019-12-06 高通股份有限公司 Method for timely detection of impending power failure to protect local design state
CN111741518A (en) * 2020-06-22 2020-10-02 湖南国科微电子股份有限公司 WiFi chip circuit and WiFi device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625656A (en) * 2009-07-28 2010-01-13 杭州华三通信技术有限公司 Method and device for processing abnormity of PCI system
US20130268705A1 (en) * 2012-04-04 2013-10-10 Arm Limited, Apparatus and method for providing a bidirectional communications link between a master device and a slave device
CN108628691A (en) * 2017-03-22 2018-10-09 三星电子株式会社 Include the system and method for Deadlock Detection device
CN110546590A (en) * 2017-04-27 2019-12-06 高通股份有限公司 Method for timely detection of impending power failure to protect local design state
CN111741518A (en) * 2020-06-22 2020-10-02 湖南国科微电子股份有限公司 WiFi chip circuit and WiFi device

Also Published As

Publication number Publication date
CN116762049A (en) 2023-09-15

Similar Documents

Publication Publication Date Title
US10986171B2 (en) Method for unified communication of server, baseboard management controller, and server
US11194753B2 (en) Platform interface layer and protocol for accelerators
Farshin et al. Reexamining Direct Cache Access to Optimize {I/O} Intensive Applications for Multi-hundred-gigabit Networks
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US11048569B1 (en) Adaptive timeout mechanism
CN101867511B (en) Pause frame sending method, associated equipment and system
WO2014032233A1 (en) System and method for live migration of virtual machine
US20090328073A1 (en) Method and system for low-overhead data transfer
US8214535B2 (en) Changing Ethernet MTU size on demand with no data loss
JPH10207822A (en) Interruption processing method for high speed i/o controller
JP5757325B2 (en) Virtual desktop system, network processing apparatus, management method, and management program
US9197490B2 (en) System and method for providing remote management of a switching device
US8886838B2 (en) Method and system for transferring packets to a guest operating system
US20180181421A1 (en) Transferring packets between virtual machines via a direct memory access device
KR20110124333A (en) Copy circumvention in a virtual network environment
EP2905948A1 (en) Message traffic control method and related device, and calculation node
JP5613009B2 (en) Method, computer program, and apparatus for energy efficient ETHERNET (R) link transition to prevent packet loss using fast failover
WO2022165790A1 (en) Power-down isolation device and related method
US9055467B2 (en) Sender device based pause system
KR20050080704A (en) Apparatus and method of inter processor communication
WO2017012459A1 (en) System bus device response timeout processing method and apparatus, and storage medium
US20150186173A1 (en) Packet flow control method, related apparatus, and computing node
WO2012058875A1 (en) Method and system for serial communication
WO2019124259A1 (en) Configuration management device, configuration management system, configuration management method, and configuration management program
TWI724670B (en) Fault-tolerant system and control method thereof

Legal Events

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

Ref document number: 21923802

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180092640.8

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21923802

Country of ref document: EP

Kind code of ref document: A1