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

Power-down isolation device and related method Download PDF

Info

Publication number
CN116762049A
CN116762049A CN202180092640.8A CN202180092640A CN116762049A CN 116762049 A CN116762049 A CN 116762049A CN 202180092640 A CN202180092640 A CN 202180092640A CN 116762049 A CN116762049 A CN 116762049A
Authority
CN
China
Prior art keywords
request
processing module
session
module
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180092640.8A
Other languages
Chinese (zh)
Inventor
张志强
吴青珍
陈勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN116762049A publication Critical patent/CN116762049A/en
Pending legal-status Critical Current

Links

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

Landscapes

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

Abstract

The application discloses a power-down isolation device, which comprises a first power domain and a second power domain; the first power domain comprises a first isolation module and a first processing module; the second power domain includes a second isolation module; the first processing module receives first control information once and accumulates the times of allowing to send the first session request once; the first session request is a session request forwarded by the first quarantine module to the second quarantine module over the first request link; after receiving the power-down request, the first isolation module sends a first notification request to the first processing module through a second request link; the first processing module responds to the first notification request, clears the accumulated number of times of allowing the first session request to be sent, and stops receiving the first control information to stop accumulating the number of times of allowing the first session request to be sent; the first isolation module disconnects the first request link with the second isolation module. By adopting the application, the power-down isolation protection of the power domain can be realized.

Description

Power-down isolation device and related method Technical Field
The application relates to the technical field of semiconductors, in particular to a power-down isolation device and a related method.
Background
As semiconductor processing technology has moved into the nano-scale phase, it has become practical to integrate hundreds of millions of transistors in a single chip. Currently, tens of processors or more can be integrated On a System On Chip (SOC), but more and more processors cannot be supported effectively compared with the conventional bus structure, and Network On Chip (NOC) is the most effective solution for solving the multi-processor interconnection.
NOCs refer to on-chip communication networks that integrate a large number of computing resources on a single chip and connect these resources, where multiple sub-networks are included and interconnected by a NOC bus, where each sub-network may also include multiple, differently functioning sub-systems (e.g., audio systems, etc.). However, to reduce the power consumption of the network on chip, the NOC bus is split into different power domains according to subsystems of different functions, wherein the different power domains can be powered up and powered down independently according to the traffic scenario. However, in the actual design process, it is found that when one power domain that is not powered down directly accesses another power domain that is powered down, the chip system is suspended (for example, in the early sample debugging stage, if the CPU accesses the power domain that is powered down, the corresponding response cannot be returned, so that the CPU cannot work normally), and after the chip system is suspended, the cleaning and the maintenance cannot be performed (for example, a certain NOC chip is suspended on a network, so that the chip cannot record the key information of the suspension moment of the chip before resetting and restarting, and thus the abnormal problem is difficult to locate).
Therefore, how to implement power-down isolation protection for a power domain is a problem to be solved.
Disclosure of Invention
The embodiment of the invention provides a power-down isolation device and a related method, which are used for realizing power-down isolation protection of a power domain.
In a first aspect, an embodiment of the present invention provides a power-down isolation device, which is characterized by including: 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; the second power domain includes a second isolation module; the first processing module accumulates the times of allowing to send the first session request once every time the first processing module receives the first control information once; the first session request is a session request forwarded by the first quarantine module to the second quarantine module over a first request link; the first isolation module is used for sending a first notification request to the first processing module through a second request link after receiving the power-down request; the first processing module is configured to respond to the first notification request, clear the accumulated number of times of allowing the first session request to be sent, and stop receiving the first control information to stop accumulating the number of times of allowing the first session request to be sent; 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.
In the embodiment of the present invention, the master device and the slave device in the power-down isolation device perform transmission communication based on a Virtual Channel (VC), when the master device (for example, the above-mentioned first power domain) receives one or more control information sent by the slave device (for example, the above-mentioned second power domain), the master device accumulates one or more times of permission to send a session request, where the number of permission to send a session request is non-zero, which indicates that the master device is permitted to send a session request, and does not mean that the master device will send a session request immediately, but when the master device needs to send a session request to the slave device, the master device reduces the number of permission to send a session request once every time the master device sends a session request until the number of permission to send a session request is zero, and then the master device stops sending the session request. Based on the above, the embodiment of the invention improves the first isolation module of the master device in the power-down isolation device, when one power domain of the master device or the slave device is powered down, the session request sent to the slave device (such as the second power domain mentioned above) is not sent to the slave device to be disconnected under the abnormal condition any more, and the phenomena of packet loss and bus hang-up are avoided, so that the power-down isolation protection of the power domain is realized. Specifically, after the first isolation module of the master device receives the power-down request, the first processing module of the master device actively sends a first notification request to the first processing module of the master device, and the first processing module clears the accumulated number of allowed session requests to be sent and does not receive new control information in response to the first notification request, so that the accumulated number of allowed session requests to be sent in the first processing module remains zero, and then disconnects the first request link between the first isolation module and the second isolation module, thereby realizing the disconnection of the session request link between the master device and the slave device, and further disconnecting the corresponding first request link under the condition that the first processing module of the master device cannot send the session request to the outside, thereby avoiding the phenomenon that if the first request link is disconnected and cleared again, the session request responded by the slave device (for example, the second power domain mentioned above) is still sent on the first processing module, but the session request cannot get the response of the slave device, and further the bus suspension phenomenon occurs in the power domain where the first processing module is located.
In one possible implementation, the target response device of the first session request is a second processing module included in the second power domain; the second processing module accumulates the times of allowing to send the first session response once every time the second processing module receives the second control information once; the first session response is a response sent by the second processing module to the first processing module over a 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 the first request link is disconnected; 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.
In the embodiment of the present invention, the master device (for example, the first power domain mentioned above) and the slave device (for example, the second power domain mentioned above) in the power-down isolation device perform transmission communication based on the virtual channel, when the slave device receives the one or more control information sent by the master device, the slave device accumulates one or more times of allowed session response sending times, where the allowed session response sending times are non-zero, which indicates that the slave device is allowed to send a session request, and does not mean that the slave device will send the session request immediately, but when the slave device needs to send the session request to the master device, the slave device reduces the allowed session response sending times once every time the slave device sends the session response sending times until the allowed session response sending times are zero. 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 actively sends a second notification request to the first processing module, and the first processing module responds to the second notification request to stop sending control information to the slave device, and then disconnects the first response link between the first isolation module and the second isolation module, so that the phenomenon that the first processing module still sends control information at the moment, which may be caused by disconnecting the first response link and stopping sending control information, is avoided, but the control information cannot obtain the response of the slave device, and further the phenomenon that the bus is dead in the power domain where the first processing module is located is caused.
In one 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 used for sending a third notification request to the second processing module after receiving the session suspension request; the second processing module is used for responding to the third notification request and is 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 pause session response.
In the embodiment of the invention, after the slave device (for example, the above-mentioned second power domain) receives the session suspension request sent by the master device (for example, the above-mentioned first power domain) after disconnecting the above-mentioned first request link and the first response link, the second isolation module in the slave device may also send a third notification request to the second processing module in the slave device, where the second processing module is in a state of stopping sending control information and session response to the master device in response to the third notification request, so that it is avoided that the control information and the session response are still sent under the abnormal condition of the second processing module after disconnecting the first response link, but the control information and the session response cannot obtain the response of the slave device, and further cause the phenomenon that the bus of the power domain where the second processing module is located is dead.
In one 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; the target response device of the second session request is the second processing module; the second session request is a session request sent to the first isolation module by the first processing module through a fourth request link; the first isolation module is further configured to send a fourth request for knowing 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 further configured to: responding to the fourth knowing request, and sending fourth control information to the first isolation module; receiving the third control information, and accumulating the times of allowing to send the second session request; sending the second session request to the first isolation module; the first isolation module is further configured to: receiving the fourth control information, and accumulating the times of allowing to send the second session response; the second session response is a response that the first isolation module responds to the second session request and is sent to the first processing module through a second response link; responding to the second session request and generating the second session response; transmitting the second session response to the first processing module; the first processing module is further configured to receive the second session response.
In the embodiment of the invention, after the first request link and the first response link are disconnected, the slave device (such as the above-mentioned second power domain) does not receive the session request initiated by the master device (such as the above-mentioned first power domain), but in an abnormal situation, the master device may still send the session request to the slave device, so in the embodiment of the invention, the session request sent to the disconnected slave device is sent to the first isolation module of the present power domain, thereby avoiding the condition that the session request is not responded and is suspended, and further, the first isolation module also informs the first processing module through the second session response that the session request sent by the first processing module is not truly responded by the disconnected slave device. Specifically, the first processing module in the master device also responds to the fourth knowing request sent by the first isolation module in the master device, at this time, the first processing module resumes to accumulate the number of times of allowing the session request to be sent, and each time the first processing module receives the control information sent by the first isolation module, the first processing module accumulates the number of times of allowing the session request to be sent once. In the case where 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 request to the first isolation module, which is responded to by the second processing 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 is accumulated. In the case that the number of times of allowing sending the session response in the first isolation module is non-zero, the first isolation module may send the session response, where the session request initiated by the first processing module can be responded. Therefore, under the condition that one power domain of the master device or the slave device is powered down, the session request which is sent to the slave device by the master device under the abnormal condition is not sent to the broken slave device but is sent to the first isolation module, so that the condition that the bus is suspended in the power domain where the master device is located due to the fact that the session request initiated by the master device cannot obtain the response of the slave device under the condition that the master device and the slave device are broken is avoided, and the power-down isolation protection is realized on the power domain.
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 processing module is further configured to clear the accumulated number of times of allowing the second session request to be sent in response to the fifth notification request, and stop receiving the third control information to stop accumulating the number of times of allowing the second session request to be sent; the first isolation module is further configured to disconnect the fourth request link with the first processing module and establish the first request link with the second isolation module after the first processing module responds to the fifth notification request.
In the embodiment of the invention, under the condition that one power domain of the master device or the slave device is electrified and the other power domain is always in an electrified state, the master device does not send the session request responded by the second processing module to the first isolation module of the power domain for responding through a fourth request link. Specifically, after the first isolation module of the master device receives the power-on request, the first isolation module actively sends a fifth notification request to the first processing module of the slave device, and the first processing module clears the accumulated number of times of allowing to send the session request and no longer receives control information in response to the fifth notification request, so that the first processing module can not send the accumulated number of times of allowing to send the session request, and under the condition that the first processing module is ensured to be unable to send the session request outwards, a fourth request link between the first processing module and the first isolation module is disconnected, and a first request link between the first isolation module and the second isolation module is established, thereby avoiding the phenomenon that the first processing module still sends the session request at the moment possibly caused by that the fourth request link is disconnected and cleared, but the session request can not be responded, and further bus is suspended in a 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 request to the first processing module through the second request link after the fourth request link is disconnected; 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 and establish the first response link with the second isolation module after the first processing module responds to the sixth notification request.
In the 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 does not respond to the session request initiated by the first processing module and responded by the second processing module. Specifically, the first isolation module actively sends a sixth notification request to the first processing module, and after the first processing module responds to the sixth notification request to stop sending control information to the first isolation module, the second response link between the first processing module and the first isolation module is disconnected, so that the phenomenon that the first processing module still sends control information at the moment possibly caused by that the second response link is disconnected first and then the control information is stopped to be sent is avoided, but the control information cannot be responded, and further bus hang-up phenomenon occurs in a power domain where the first processing module is located.
In a possible implementation manner, the first isolation module is further configured to send a request for allowing a session to the second isolation module through the third request link; the second isolation module is used for sending a seventh notification request to the second processing module after receiving the session permission request; the second processing module is configured to respond to the seventh notification request, and is in a state of allowing transmission of the first control information and allowing transmission of the first session response; the second isolation module is further configured to send an allowed session 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 allowed session response.
In an 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) may send a seventh notification request to the second processing module in the slave device after receiving the session permission request sent by the master device (for example, the above-mentioned first power domain), and the second processing module is in a state of permission to send control information and a session response to the master device in response to the seventh notification request. The slave device is then transmitting an allowed session response to the master device indicating that the second processing module is already in a state allowing the transmission of the first control information and allowing the transmission 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 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 times of allowing to send the first session response; generating the first session response in response to the first session request; transmitting the first session response; the first processing module is further configured to receive the first session response.
In the embodiment of the present invention, after the fourth request link and the second response link are disconnected, the first isolation module does not respond to the session request that is responded by the slave device (for example, the second power domain mentioned above), and at this time, the session request initiated at the first processing module and responded by the slave device is sent to the second processing module of the slave device to respond. Specifically, the first processing module in the master device responds to the eighth notification request sent by the first isolation module in the master device, at this time, the first processing module resumes to accumulate the number of times of allowing the session request to be sent, and each time the first processing module receives the control information sent by the master device, the first processing module accumulates the number of times of allowing the session request to be sent once. In the case where the number of allowed transmission of session requests in the first processing module is non-zero, the first processing module may transmit a session request responded to by the second processing module. Next, each time the second processing module of the slave device receives the control information transmitted by the first processing module, the number of times the session response is allowed to be transmitted is counted. In the case where the number of times the session response is allowed to be transmitted in the slave device is non-zero, the slave device may transmit the session response, at which time the session request initiated by the first processing module gets the response of the slave device. Therefore, under the condition that one power domain of the master device or the slave device is electrified and the other power domain is always in an electrified state, the session request of the master device, which is sent to the slave device, is not sent to the broken first isolation module for responding but is sent to the slave device for responding, so that under the condition that the power domain is electrified, the power domain is prevented from being hung up, and the normal response of the session request sent to the slave device by the master device can be obtained while the isolation protection of the power domain is realized.
In a second aspect, an embodiment of the present invention provides a power-down isolation method, which is characterized in that the power-down isolation method is applied to a power-down isolation device, where the power-down isolation device includes a first power domain and a second power domain; the first power domain comprises a first isolation module and a first processing module; the second power domain includes a second isolation module; the first processing module accumulates the times of allowing to send the first session request once every time the first processing module receives the first control information once; the first session request is a session request forwarded by the first quarantine module to the second quarantine module over a first request link; the method comprises the following steps: after receiving a power-down request through the first isolation module, sending a first notification request to the first processing module through a second request link; clearing the accumulated number of times of allowing the first session request to be sent by the first processing module in response to the first notification request, and stopping receiving the first control information to stop accumulating the number of times of allowing the first session request to be sent; and after the first processing module responds to the first notification request, the first request link between the first processing module and the second isolation module is disconnected through the first isolation module.
In one possible implementation, the target slave device of the first session request is a second processing module included in the second power domain; the second processing module accumulates the times of allowing to send the first session response once every time the second processing module receives the second control information once; the first session response is a response sent by the second processing module to the first processing module over a first response link in response to the first session request; the method further comprises the steps of: after the first request link is disconnected through the first isolation module, a second notification request is sent to the first processing module through the second request link; stopping sending the second control information by the first processing module in response to the second notification request; and after the first processing module responds to the second notification request, the first response link between the first processing module and the second isolation module is disconnected through the first isolation module.
In one possible implementation, the method further includes: sending a session suspension request to the second isolation module through a third request link by the first isolation module; after receiving the session suspension request through the second isolation module, sending a third notification request to the second processing module; responding to the third notification request by the second processing module, and stopping sending the first control information and the first session response; after the second processing module responds to the third notification request, sending a session suspension response to the first isolation module through the third request link by the second isolation module; the pause session response is received by the first quarantine module.
In one 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; the target slave device of the second session request is the second processing module; the second session request is a session request sent to the first isolation module by the first processing module through a fourth request link; the method further comprises the steps of: sending a fourth request to the first processing module through the second request link by the first isolation module and sending the third control information through the fourth request link; transmitting fourth control information to the first isolation module by the first processing module in response to the fourth knowing request; receiving the third control information, and accumulating the times of allowing to send the second session request; sending the second session request to the first isolation module; receiving the fourth control information through the first isolation module, and accumulating the times of allowing to send a second session response; the second session response is a response that the first isolation module responds to the second session request and is sent to the first processing module through a second response link; responding to the second session request and generating the second session response; transmitting the second session response to the first processing module; the second session response is received by the first processing module.
In one possible implementation, the method further includes: after receiving a power-on request through the first isolation module, sending a fifth notification request to the first processing module through the second request link; clearing the accumulated number of times of allowing the second session request to be transmitted by the first processing module in response to the fifth notification request, and stopping receiving the third control information to stop accumulating the number of times of allowing the second session request to be transmitted; and 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 the first request link with the second isolation module.
In one possible implementation, the method further includes: after the fourth request link is disconnected through the first isolation module, a sixth notification request is sent to the first processing module through the second request link; stopping sending the fourth control information by the first processing module in response to the sixth notification request; and after the first processing module responds to the sixth notification request, the second response link between the first processing module and the first isolation module is disconnected, and the first response link between the first processing module and the second isolation module is established.
In one possible implementation, the method further includes: transmitting, by the first isolation module, a request for allowing a session to the second isolation module through the third request link; after receiving the session permission request through the second isolation module, sending a seventh notification request to the second processing module; responding to the seventh notification request by the second processing module, and in a state of allowing transmission of the first control information and allowing transmission of the first session response; transmitting, by the second isolation module, an allowed session response to the first isolation module through the third request link after the second processing module responds to the seventh notification request; the allowed session response is received by the first quarantine module.
In one possible implementation, the method further includes: sending, by the first isolation module, an eighth notification request to the first processing module via the second request link; transmitting, by the first processing module, the second control information and the first session request in response to the eighth communication request; receiving, by the second isolation module, the second control information and the first session request, and forwarding the second control information and the first session request to the second processing module; receiving the second control information through the second processing module, and accumulating the times of allowing to send the first session response; generating the first session response in response to the first session request; transmitting the first session response; the first session response is received by the first processing module.
In a third aspect, the present application provides a semiconductor chip, which may include the power-down isolation device according to any implementation manner of the first aspect.
In a fourth aspect, the present application provides a chip system, which includes the power-down isolation device according to any implementation manner of the first aspect. The chip system can be composed of chips, and can also comprise chips and other discrete devices.
In a fifth aspect, the present application provides an electronic device, including a processor and a memory, where the memory is configured to store program code, and the processor is configured to invoke the program code stored in the memory to execute the power-down isolation apparatus related to any implementation manner of the first aspect.
In a sixth aspect, the present application provides a system-on-a-chip SoC chip, where the SoC chip includes a power-down isolation device according to any one of the implementation manners of the first aspect. The SoC chip may be formed by a chip, or may include a chip and other discrete devices.
In a seventh aspect, the present application provides a storage device having a function of implementing any one of the power-down isolation methods of the second aspect. The functions can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the functions described above.
In an eighth aspect, the present application provides a terminal, where the terminal includes a host, and the host includes a power-down isolation device related to any implementation manner of the first aspect. The terminal may also include a communication interface for the terminal to communicate with other devices or communication networks.
In a ninth aspect, the present application provides a computer readable storage medium storing a computer program which, when executed by a storage device, implements the flow of the power down isolation method of any one of the above second aspects.
In a tenth aspect, an embodiment of the present application provides a computer program, where the computer program includes instructions that, when executed by a storage device, enable the storage device to perform the flow of the power-down isolation method according to any one of the second aspects above.
Drawings
Fig. 1A is a schematic diagram of a network on chip according to an embodiment of the present application.
Fig. 1B is a schematic diagram of another network on chip structure according to an embodiment of the present application.
Fig. 1C is a schematic diagram of a session transmission mode according to an embodiment of the present application.
Fig. 1D is a schematic diagram of a session request according to an embodiment of the present application.
Fig. 2A is a schematic diagram of a power-down isolation device according to an embodiment of the present application.
Fig. 2B is a schematic diagram of another power-down isolation device according to an embodiment of the present application.
Fig. 2C is a schematic diagram of a link of a power-down isolation device according to an embodiment of the present application.
Fig. 2D is a schematic diagram of another power-down isolation device according to an embodiment of the present application.
Fig. 3 is a schematic design structure diagram of a power domain boundary implementation power-down isolation protection processing device according to an embodiment of the present application.
Fig. 4A is a schematic flow chart of a power-down isolation method according to an embodiment of the present application.
Fig. 4B is a schematic diagram of a user application user interface according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application. The terms "first," "second," "third," and "fourth" and the like in the description and in the claims and drawings are used for distinguishing between different objects and not necessarily for describing a particular sequential or chronological order. Furthermore, the terms "comprise" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus. Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the application. The appearances of such phrases in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Those of skill in the art will explicitly and implicitly appreciate that the embodiments described herein may be combined with other embodiments.
As used in this specification, the terms "component," "module," "system," and the like are intended to refer to a computer-related entity, either hardware, firmware, a combination of hardware and software, or software in execution. For example, a component may be, but is not limited to being, a process running on 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 can be a component. 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. Furthermore, these components can execute from various computer readable media having various data structures stored thereon. The components may communicate by way of local and/or remote processes such as in accordance with information having one or more data packets (e.g., data from two components interacting with one another in a local system, distributed system, and/or across a network such as the internet with other systems by way of the information).
Some terms used in the present application are explained below to facilitate understanding by those skilled in the art.
(1) A Network On Chip (NOC) is a new communication method of a System On Chip (SoC), which is a main component of the multi-core technology. The NoC method brings a brand new communication method on chip, which is significantly better than the performance of the traditional bus system (bus).
(2) Power Domain (Power Domain), many new socs must integrate many functions and achieve very low Power consumption when designed, i.e., there may be many clock domains, power domains and reset domains divided into designs. The power domain is the area divided for the total power supply, so that the system verification is convenient, and the system power consumption can be reduced. Such as MODEM (MODEM) subsystems, audio subsystems, sensor subsystems, etc., which are independently powered when in a SoC design, may be powered off when not in operation, and may save power consumption. For example, the MODEM subsystem can be powered off in the flight mode to reduce the energy consumption of the chip, but the audio subsystem can still play music at the power-on state. In general, the power domain is divided by the functional area of the SoC.
Based on the technical problems set forth above, in order to facilitate understanding of the embodiments of the present application, a system architecture on which the embodiments of the present application are based is described below. Referring to fig. 1A, fig. 1A is a schematic diagram of a network-on-chip structure provided by an embodiment of the present application, where the network-on-chip 20 may be located in any electronic device, such as a computer, a mobile phone, a tablet, and other devices. The network on chip 20 may specifically be a chip or a chipset or a circuit board on which the chip or the chipset is mounted. The chip or chip set or the circuit board on which the chip or chip set is mounted may be operated under the necessary software drive. In fig. 1A, the network on chip 20 comprises a first subsystem 201, a second subsystem 202, an initial bridge 203, a routing module 204, a target bridge 205, wherein
The first subsystem 201 is powered by a functional module of a first power domain that has independent power up and independent power down functions in a logic circuit. When the first power domain is powered on, power can be supplied to the first subsystem 201, so that the first subsystem 201 can work normally; when the first power domain is powered down, power will not be supplied to the first subsystem 201 any more, and the first subsystem 201 will be in a disabled state.
The second subsystem 202 is powered by a functional module of a second power domain that has independent power up and independent power down functions in a logic circuit. When the second power domain is powered on, power can be supplied to the second subsystem 202, so that the second subsystem 202 can work normally; when the second power domain is powered down, power will not be supplied to the second subsystem 202 any more, and the second subsystem 202 will be in a disabled state.
One or more initial bridges 203 may be included in the first subsystem 201 and the second subsystem 202, the initial bridges 203 being protocol conversion bridges that convert the docking device interface protocol to network-on-chip NOC internal network interface protocols. In one case, the initial bridge 203 is connected to a host device (e.g., a graphics processor GPU, etc.), and when a signal is output from the host device, a signal protocol conversion is performed in the initial bridge 203, so that the signal enters the NOC internal network, because the interface protocols of the host device and the NOC internal network are different. In another case, when two different NOCs are interconnected across NOCs, for example, NOC0 accesses NOC1, the initial bridge of NOC1 is connected to the target bridge of NOC0, and since two NOCs have independent NOC buses, signal transmission cannot be directly performed between the two different NOCs, at this time, the signal is subjected to protocol conversion according to the protocol rule in the target bridge before being output from the target bridge, and the target bridge transmits the signal after the protocol conversion to the initial bridge of NOC1, and then the initial bridge performs another protocol conversion according to the received signal, so that the signal can enter the internal network of NOC1, thereby realizing the interconnection across NOCs.
One or more target bridges 205 may be included in the first subsystem 201 and the second subsystem 202, the target bridges 205 being protocol conversion bridges that convert NOC internal network protocols to dock interface protocols. In one case, the target bridge 205 is connected to a slave device (e.g., memory, etc.), and when a signal is output from the NOC internal network, the signal is converted in the target bridge 205 by the interface protocol between the slave device and the NOC internal network, so that the signal can enter the slave device. In another case, when two different NOCs are interconnected across the NOC, for example, NOC0 accesses NOC1, the NOC0 target bridge is connected to the initial bridge of NOC1, and since NOC0 and NOC1 have separate NOC buses, no direct signal transmission can be performed between the two NOCs, at this time, the signal is subjected to protocol conversion according to the protocol rules in the target bridge before being output from the target bridge of NOC0, and the target bridge sends the signal after the protocol conversion to the initial bridge of NOC1, and then the initial bridge of NOC1 performs another protocol conversion according to the received signal, so that the signal can enter the internal network of NOC1, thereby realizing the interconnection across the NOC.
Also included in the first subsystem 201 and the second subsystem 202 are one or more routing modules 204, where the routing modules 204 are hardware devices that connect two or more networks, acting as gateways between networks, and are specialized intelligent network devices that read addresses in each packet and then determine how to transmit. It is able to understand different protocols, such as the ethernet protocol used by a certain local area network, the TCP/IP protocol used by the internet. Thus, the routing module can analyze the destination addresses of data packets transmitted by various different types of networks, and convert the addresses of non-TCP/IP networks into TCP/IP addresses or vice versa; and then transmitting each data packet to a designated position according to the optimal route according to the selected routing algorithm. The routing module can establish data connection between the modules of different networks in one subsystem, and can also establish data connection between the subsystems of two different networks to realize interaction between the two subsystems. For example, an initial bridge 203 in a first subsystem 201 may access a target bridge in the first subsystem 201 through a routing module in the first subsystem, while also accessing a target bridge in a second subsystem 202 through a routing module in the first subsystem.
For example, as shown in fig. 1B, fig. 1B is a schematic diagram of another network-on-chip structure provided in an embodiment of the present invention, where the network-on-chip structure includes a first network-on-chip 000, a first subsystem 010 powered by a first power domain, a second subsystem 020 powered by a second power domain, a first initial bridge 011, a first routing module 012, a first target bridge 013, a link interface 014 crossing a power domain boundary, a power isolation room 030, a second routing module 021, and a second target bridge 022. It should be noted that, the network-on-chip 20 is a first network-on-chip 000 in the figure, the initial bridge 203 is a first initial bridge 011 in the figure, the routing module 204 is a first routing module 012 and a second routing module 021 in the figure, and the target bridge 205 is a first target bridge 013 and a second target bridge 022 in the figure. A link interface 014 crossing the power domain boundary is used to transfer session requests and session responses between the first subsystem 010 and the second subsystem 020, and a power isolation room 030 is used to physically implement means of power down isolation. In the network-on-chip structure, the first initial bridge 011 can access the second routing module 021 through the first routing module 012, so that the second target bridge 022 can be accessed, wherein a session request initiated at the first subsystem 010 can be sent to the second subsystem 020 through a link interface 014 crossing a power domain boundary, and a corresponding session response is generated after the second subsystem 020 responds to the session request and is sent to the first subsystem 010 through the link interface 014 crossing the power domain boundary.
The host device connected to the initial bridge 203 in the NOC may be an application processor (application processor, AP), a central processor (central processing unit, CPU), a graphics processor (graphics processing unit, GPU), a neural-network processor (neural-network processing unit, NPU), a modem processor, an image signal processor (image signal processor, ISP), a controller, a memory, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, or the like. For example, the GPU obtains the picture information in the memory, and performs mathematical and geometric calculations to implement graphics rendering, etc., according to the picture information.
The slave devices connected to the target bridge 205 in the NOC may be Flash memory (e.g., NAND Flash memory, NOR Flash memory, etc.), universal Flash memory (universal Flash storage, UFS), embedded multimedia card eMMC, universal Flash memory storage multichip package uMCP memory, embedded multimedia card multichip package eMCP memory, solid State Drives (SSD), mechanical Hard Disk (HDD), etc. For example, mobile phone operation data is stored in a corresponding memory, mobile phone operation conditions are recorded, and the like.
It is understood that the architecture of a system-on-chip in fig. 1A is only an exemplary implementation of an embodiment of the present application, and the architecture of the system-on-chip in an embodiment of the present application includes, but is not limited to, the above architecture.
In order to facilitate understanding of the embodiments of the present application, a description will be given below of a Virtual Channel (VC) session transmission manner according to the embodiments of the present application. Referring to fig. 1C, fig. 1C is a schematic diagram of a session transmission mode provided by an embodiment of the present application, in which a transmitting end TX 410 includes a transmitting end counter 411, 3 VC session requests 412, and an arbitration scheduler 413; the receiver RX 420 includes a receiver counter 421, a first-in-first-out memory VC FIFO 423, and a demultiplexer DEMUX 422. Alternatively, the transmitting end may be located in a routing module of the first subsystem in the network on chip, and the receiving end may be located in a routing module of the second subsystem. The following is a flow of interaction between the transmitting end and the receiving end:
step 1: VC FIFO 423 in the receiving end sends a count request to receiving end counter 421. The VC FIFO 423 in the receiving end is used to store data, and if the VC FIFO 423 has an available buffer depth, a count request is sent to the receiving end counter 421.
Step 2: the reception side counter 421 receives the count request. The receiving side counter 421 counts up once every time the receiving side counter 421 receives a count request initiated by the VC FIFO 423.
Step 3: the receiving side counter 421 transmits crdt_x to the transmitting side counter 411. If the receiver counter 421 is in a non-zero state, the control information crdt_x may be sent to the sender counter 411, and the count of the receiver counter 421 is decremented once every time crdt_x is sent.
Step 4: sender counter 411 receives crdt_x. The sender counter 411 counts up once every time the sender counter 411 receives a crdt_x sent by the receiver counter 421.
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.
Step 6: the arbitration scheduler 413, after receiving the scheduling request, schedules a session request from among the 3 VC session requests 412 to allow transmission to the demultiplexer DEMUX 422 of the receiving end RX 420 through the link 430 every time the arbitration scheduler 413 receives a scheduling request transmitted by the transmitting end counter 411.
Step 7: the DEMUX 422 receives requests for sessions. The DEMUX 422, upon receiving a session request, may demultiplex and store the information in the session request 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 scheduled, and the sender counter 411 counts down once every time a grant_x is received.
For example, TX1 and RX2 are included in a master device (e.g., the first processing module in the first power domain mentioned above) and RX1 and TX2 are included in a slave device (e.g., the second processing module in the second power domain mentioned above). TX1 and RX1 are used to control the transmit session request and TX2 and RX2 are used to control the transmit session response. If TX1 in a master device transmits 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 transmits the session response to RX2 in the master device. The specific implementation flow is as follows:
1. TX1 sends a session request to RX 1:
if the first fifo memory in RX1 has an available buffer depth, the first fifo memory sends a count request to the request receiver counter, and the count is incremented once after the request receiver counter receives the count request, and then the count is decremented once after sending a network request credit (network_request_credit, network_req_crdt) to the request sender counter, where network_req_crdt is the control information mentioned above. The request sender counter counts one after receiving the network_req_crdt, and the request sender counter counts one at this time, and the request receiver counter counts zero. The request sender counter may send a scheduling request to the first arbitration scheduler, which may schedule a session request, such as the first session request, from the 3 VC session requests after receiving the scheduling request. As shown in fig. 1D, fig. 1D is a schematic diagram of a session request provided in 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), and the first session request is allowed to be sent to a first demultiplexer of the receiving end RX1 through a link. The first demultiplexer may demultiplex the network_req_ pld in the first session request and store it in the first fifo memory after receiving the first session request.
2. TX2 sends a session response to RX 2:
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 sends a count request to the response receiving counter, and the response receiving counter increases the count once after receiving the count request, and then sends a network response credit information (network_response_credit) to the response sending counter, and the count decreases once, where the response credit information is the control information mentioned above. The counter of the response transmitting end is increased once after receiving the network_rsp_crdt, and the counter of the response transmitting end is counted as one, and the counter of the response receiving end is counted as zero. The response sender counter may send a scheduling request to the second arbitration scheduler, which may schedule a session response, such as the first session response, from the 3 VC session responses after receiving the scheduling request. As shown in fig. 1D, optionally, the first session response includes network response payload information (network_response_payload, network_rsp_ pld) and network response VLD information (network_response_vld, network_rsp_vld), and the first session response is allowed to be sent to the second demultiplexer of the receiving end RX2 through the link. The second demultiplexer may demultiplex the network_rsp_ pld in the session response and store it in the second fifo memory after receiving the first session response.
It should be understood that one session transmission manner in fig. 1C is only an exemplary implementation manner 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.
The technical problems presented in the present application are specifically analyzed and solved by combining the embodiments of the power-down isolation device provided in the present application based on the network-on-chip structure and the session transmission mode. Referring to fig. 2A, fig. 2A is a schematic diagram of a power-down isolation device according to an embodiment of the present application, and as shown in fig. 2A, the power-down isolation device 30 includes: a first power domain 303 and a second power domain 302; the first power domain 303 comprises a first isolation module 304 and a first processing module 303; the second power domain 302 includes a second isolation module 305; the first processing module 303 accumulates the number of times the first session request is allowed to be sent once every time the first control information is received once; the first session request is a session request forwarded by the first quarantine module 304 to the second quarantine module 305 over the first request link. Wherein:
the first isolation module 304 is configured to send a 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, a power-off request is sent to the first isolation module by a power manager of the chip system; when the second power domain is to be changed 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-down request to the first isolation module. When the first isolation module receives the power-down request, the first isolation module sends a first notification request to the first processing module 303 through a second request link, the second request link is used for transmitting the notification request between the first isolation module 304 and the first processing module 303, the first notification request is used for instructing the first processing module 303 to clear the accumulated number of times of allowing to send the session request, and the first isolation module stops receiving control information to stop accumulating the number of times of allowing to send the session request.
The first processing module 303 is configured to clear the accumulated number of times of allowing the first session request to be sent in response to the first notification request, and stop receiving the first control information to stop accumulating the number of times of allowing the first session request to be sent. Specifically, when the first processing module 303 receives the first notification request sent by the first isolation module 304, the accumulated number of times of allowing the first session request to be sent is cleared and the corresponding control information is stopped to stop the accumulated number of times of allowing the first session request 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 session requests, the first isolation module 304 will break the request link with the second isolation module 305. For example, when the number of times of allowing the first session request to be sent in the first processing module 303 is two, the first processing module 303 sequentially sends two session requests outwards and forwards the two session requests to the slave device through the first request link, and if the first isolation module 304 directly disconnects the first request link at this time, the two session requests initiated by the first processing module 303 cannot be sent to the slave device, which results in that the two session requests cannot respond, so that the chip system has the phenomena of packet loss and hanging up.
In the embodiment of the invention, the master device and the slave device in the power-down isolation device carry out transmission communication based on a Virtual Channel (VC), the master device is a device for initiating a session request, and the slave device is a device for responding to a session response. When the master device (e.g., the first power domain mentioned above) receives one or more control information transmitted by the slave device (e.g., the second power domain mentioned above), the master device accumulates one or more times of permission to transmit the session request, which is non-zero, indicating that the master device is permitted to transmit the session request, and does not mean that the master device immediately transmits the session request, but when the master device needs to transmit the session request to the slave device, the master device decreases the number of times of permission to transmit the session request once every time the master device transmits the session request to the slave device until the number of times of permission to transmit the session request is zero, and the master device stops transmitting the session request. Based on the above, the embodiment of the invention improves the first isolation module of the master device in the power-down isolation device, when one power domain of the master device or the slave device is powered down, the session request sent to the slave device (such as the second power domain mentioned above) is not sent to the slave device to be disconnected any more, and the phenomena of packet loss and bus hang-up are avoided, so that the power-down isolation protection of the power domain is realized. Specifically, after the first isolation module of the master device receives the power-down request, the first processing module of the master device actively sends a first notification request to the first processing module of the master device, and the first processing module clears the accumulated number of allowed session requests to be sent and does not receive new control information in response to the first notification request, so that the accumulated number of allowed session requests to be sent in the first processing module remains zero, and then disconnects the first request link between the first isolation module and the second isolation module, thereby realizing the disconnection of the session request link between the master device and the slave device, and further disconnecting the corresponding first request link under the condition that the first processing module of the master device cannot send the session request to the outside, thereby avoiding the phenomenon that if the first request link is disconnected and cleared again, the session request responded by the slave device (for example, the second power domain mentioned above) is still sent on the first processing module, but the session request cannot get the response of the slave device, and further the bus suspension phenomenon occurs in the power domain where the first processing module is located.
By implementing the embodiment of the invention, the first isolation module 304 in the power-down isolation device is improved, so that the first isolation module 304 can control the first processing module 303 to be in a state of suspending sending a session request, and then disconnect the request link with the second isolation module 305, thereby avoiding the phenomenon that the first processing module 303 still sends out the session request responded by the slave device at the moment possibly caused by disconnecting the first request link and then clearing the first request link.
In a possible implementation manner, as shown in fig. 2B, fig. 2B is a schematic diagram of another power-down isolation device provided in an embodiment of the present invention, where a target slave device of the first session request is a second processing module included in the second power domain; the second processing module 306 accumulates the number of times the first session response is allowed to be sent once every time the second control information is received once; the first session response is a response sent by the second processing module 306 to the first processing module 303 over the first response link in response to the first session request; the first isolation module 304 is further configured to send a second notification request to the first processing module 303 through the second request link after the first request link is disconnected; 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 disconnect the first response link with the second isolation module 305 after the first processing module 303 responds to the second notification request.
Alternatively, if the first processing module 303 has initiated a plurality of session requests before the first isolation module 304 disconnects the first request link mentioned above, and the first isolation module 304 forwards the session requests to the second processing module 306 through the first request link, the second processing module 306 generates corresponding session responses in response to the session requests, and at this time, since the second processing module 306 receives the second control information generated by the first processing module 303 before the power domain is powered down, the number of times the session responses are allowed to be transmitted accumulated in the second processing module 306 is non-zero, and the second processing module 306 sequentially transmits the generated session responses to the first processing module 303 through the first response link. After the second processing module 306 sends the session response mentioned above, the first isolation module 304 sends a 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, so that the second processing module 306 cannot receive new second control information any more, and thus cannot continuously accumulate the number of times of allowing to send the first session response. The first isolation module 304 then breaks the first response link with the second isolation module 305, so that the session response generated by the second processing module 306 cannot be sent from the first response link to the first processing module 303 under the abnormal condition, and the phenomena of packet loss and bus hang-up are avoided, thereby implementing the power-down isolation protection on the power domain. It should be noted that, the second control information is information generated by the first processing module 303 and sent to the first isolation module 304, and then the first isolation module 304 sends the information to the second isolation module 305 through the first response link and forwards the information to the second processing module.
For example, two session requests are initiated by the first processing module 303 before the first isolation module 304 disconnects the first request link, and two corresponding session responses are generated after the second processing module 306 receives and responds to the two session requests. If the second processing module 306 receives the three second control information generated by the first processing module 303, the number of times the second processing module 306 accumulates the allowed sending session responses is three, the second processing module 306 may return the corresponding session responses to the first processing module 303, and after the second processing module 306 returns the two session responses, the number of times the second processing module 306 accumulates the allowed sending session responses is one. When the first processing module 303 responds to the second notification request sent by the first isolation module 304, the first isolation module 304 disconnects the first response link with the second isolation module 305, so that the second processing module 306 cannot receive new second control information, and therefore the second processing module 306 does not accumulate the number of times of allowing to send the session response.
In the embodiment of the present invention, the master device (for example, the first power domain mentioned above) and the slave device (for example, the second power domain mentioned above) in the power-down isolation device perform transmission communication based on the virtual channel, when the slave device receives the one or more control information sent by the master device, the slave device accumulates one or more times of allowed session response sending times, where the allowed session response sending times are non-zero, which indicates that the slave device is allowed to send a session request, and does not mean that the slave device will send the session request immediately, but when the slave device needs to send the session request to the master device, the slave device reduces the allowed session response sending times once every time the slave device sends the session response sending times until the allowed session response sending times are zero. 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 actively sends a second notification request to the first processing module, and the first processing module responds to the second notification request to stop sending control information to the slave device, and then disconnects the first response link between the first isolation module and the second isolation module, so that the phenomenon that the first processing module still sends control information at the moment, which may be caused by disconnecting the first response link and stopping sending control information, is avoided, but the control information cannot obtain the response of the slave device, and further the phenomenon that the bus is dead in the power domain where the first processing module is located is caused.
In one possible implementation, 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; a second isolation module 305, configured to send a third notification request to the second processing module 306 after receiving the session suspension request; a second processing module 306, configured to respond to the third notification request, and be in a state of stopping sending the first control information and stopping sending the first session response; the second isolation module 305 is further configured to send a session suspension 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 suspension session response.
For example, two session requests are initiated by the first processing module 303 before the first isolation module 304 disconnects the first request link, and two corresponding session responses are generated after the second processing module 306 receives and responds to the two session requests. If the second processing module 306 receives the three second control information generated by the first processing module 303, the number of times the second processing module 306 accumulates the allowed sending session responses is three, the second processing module 306 may return the corresponding session responses to the first processing module 303, after the second processing module 306 returns the two session responses, the number of times the second processing module 306 accumulates the allowed sending session responses is one, and the second processing module 306 is still in the state of allowing sending session responses. When the first processing module 303 does not send the second control information after responding to the second notification request, the first isolation module 304 disconnects 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, and therefore the number of allowable sending session responses accumulated by the second processing module 306 remains as one. At this time, the first quarantine module 304 may send a request for suspending the session to the second quarantine module 305, and after the second quarantine module 305 receives the request for suspending the session, a third notification request may be sent to the second processing module 306, and the second processing module 306 may not send the first control information to the master device any more in response to the third notification request, and set the number of previously accumulated allowed session responses to zero to stop sending the session response outwards. The second isolation module 305 then sends a pause session response to the first isolation module 304 indicating that the second processing module 306 is in a state to stop sending the first control information and stop sending the first session response. It should be noted that, the first control information is information that is generated by the second processing module 306 and sent to the second isolation module 305, and then the second isolation module 305 sends the information to the first isolation module 304 and forwards the information to the first processing module 303 through the first request link.
Optionally, the second processing module 306 may actively configure the buffer depth of the VC FIFO as needed, thereby determining the number of times the second processing module 306 may send the first control information to the outside, so as to reduce the chip area overhead.
In the embodiment of the invention, after the slave device (for example, the above-mentioned second power domain) receives the session suspension request sent by the master device (for example, the above-mentioned first power domain) after disconnecting the above-mentioned first request link and the first response link, the second isolation module in the slave device may also send a third notification request to the second processing module in the slave device, where the second processing module is in a state of stopping sending control information and session response to the master device in response to the third notification request, so that it is avoided that the control information and the session response are still sent under the abnormal condition of the second processing module after disconnecting the first response link, but the control information and the session response cannot obtain the response of the slave device, and further cause the phenomenon that the bus of the power domain where the second processing module is located is dead.
In one possible implementation, as shown in fig. 2B, each time the first processing module 303 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 a 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 send a fourth request for knowing 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 module 303 is further configured to: in response to the fourth notification request, fourth control information is sent to the first isolation module 304; receiving the third control information, and accumulating the times of allowing to send the second session request; sending the second session request to the first quarantine module 304; the first isolation module 304 is further configured to: receiving the fourth control information, and accumulating the times of allowing to send the second session response; the second session response is a response sent by the first isolation module 304 to the first processing module 303 over the second response link in response to the second session request; responding to the second session request and generating the second session response; transmitting the second session response to the first processing module 303; the first processing module 303 is further configured to receive the second session response.
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 knowing request sent by the first isolation module 304, at this time, the number of times of allowing the transmission of the session request accumulated in the first processing module 303 is no longer kept zero, and each time the first processing module 303 receives the third control information sent by the first isolation module 304, the number of times of allowing the transmission of the second session request is accumulated. When the number of times the second session request is allowed to be transmitted in the first processing module 303 is non-zero, the first processing module 303 may transmit the second session request through the fourth request link in an abnormal situation, where the session request is responded to by the first isolation module 304, instead of the second processing module 306. Next, the first processing module 303 may send fourth control information through the second response link, and the first isolation module 304 may accumulate the number of allowed second session responses once each time the first isolation module 304 receives the fourth control information sent by the first processing module 303. When the number of allowed sending session responses in the first isolation module 304 is non-zero, the first isolation module 304 may send a second session response over the second response link, at which point the first processing module 303 may receive the second session response. 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 over the second response link. Optionally, the second session response mentioned above is a Dummy response, which may facilitate subsequent dimension of the chip system.
It should be noted that, only if the number of times the first processing module accumulates to allow sending the second session request is non-zero and the first processing module is abnormal, the first processing module sends the second session request, and the target response device of the first second session request is the second processing module 306, but since one power domain of the first power domain or the second power domain needs to be powered down and cannot perform cross-power domain interaction any more, the device actually responding to the second session request is the first isolation module 304. Optionally, the first isolation module 304 may actively configure the buffer depth of the VC FIFO as needed, thereby determining the number of times that the first isolation module 304 may send the third control information to the outside, so as to reduce the chip area overhead.
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, after the first processing module 303 responds to the notification request, the number of times the first processing module 303 is allowed to send the session request may not be kept zero any more, and if the first processing module 303 receives the control information, the number of times the first processing module 303 starts to accumulate the number of times the session request is allowed to send. When the first processing module 303 receives a third control message sent by the first isolation module 304 through the fourth request link, the accumulated number of times of allowing to send the session request is one, and in an abnormal situation, the first processing module 303 will send the session request sent to the second processing module 306 to the first isolation module 304 through the fourth request link, and at the same time, the first processing module 303 will send one or more fourth control messages to the first isolation module 304 through the second response link, where the first isolation module 304 responds to the session request and generates a corresponding session response, and since the first isolation module 304 receives one or more fourth control messages sent by the first processing module 303 through the second response link, the number of times of allowing Xu Fasong session responses in the first isolation module 304 is not zero, and at this time, the first isolation module 304 is in a state of allowing to send the session response. The first isolation module 304 sends the generated session response to the first processing module 303 over the second response link. It should be noted that the session response may be a Dummy response, and the Dummy response may facilitate subsequent measurement of the chip system.
In the embodiment of the invention, after the first request link and the first response link are disconnected, the slave device (such as the above-mentioned second power domain) does not receive the session request initiated by the master device (such as the above-mentioned first power domain), but in an abnormal situation, the master device may still send the session request to the slave device, so in the embodiment of the invention, the session request sent to the disconnected slave device is sent to the first isolation module of the present power domain, thereby avoiding the condition that the session request is not responded and is suspended, and further, the first isolation module also informs the first processing module through the second session response that the session request sent by the first processing module is not truly responded by the disconnected slave device. Specifically, the first processing module in the master device also responds to the fourth knowing request sent by the first isolation module in the master device, at this time, the first processing module resumes to accumulate the number of times of allowing the session request to be sent, and each time the first processing module receives the control information sent by the first isolation module, the first processing module accumulates the number of times of allowing the session request to be sent once. In the case where the number of allowed session requests is non-zero and the master device is abnormal, the first processing module may send the session request to the first isolation module, which would have been responded to by the second processing 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 is accumulated. In the case that the number of times of allowing sending the session response in the first isolation module is non-zero, the first isolation module may send the session response, where the session request initiated by the first processing module can be responded. Therefore, under the condition that one power domain of the master device or the slave device is powered down, the session request which is sent to the slave device by the master device under the abnormal condition is not sent to the broken slave device but is sent to the first isolation module, so that the condition that the bus is suspended in the power domain where the master device is located due to the fact that the session request initiated by the master device cannot obtain the response of the slave device under the condition that the master device and the slave device are broken is avoided, and the power-down isolation protection is realized on the power domain.
In a possible implementation manner, as shown in fig. 2C, fig. 2C is a schematic diagram of a power-down isolation device link provided in an embodiment of the present invention, where the first isolation module 304 is further configured to send, after receiving a power-up request, a fifth notification request to the first processing module 303 through the second request link; the first processing module 303 is further configured to clear the accumulated number of times of allowing the second session request to be sent, and stop receiving the third control information to stop accumulating the number of times of allowing the second session request to be sent, in response to the fifth notification request; the first isolation module 304 is further configured to disconnect the fourth request link with the first processing module 303 and establish the first request link with the second isolation module 305 after the first processing module 303 responds to the fifth notification request.
Optionally, when the first power domain is to be changed from the power-down state to the power-up state, if the second power domain is in the power-up state, the power manager of the chip system sends a power-up request to the first isolation module 304; when the second power domain is to be changed from the power-down state to the power-up state, if the first power domain is in the power-up state, the second power domain sends a power-up request to the first isolation module 304.
Specifically, when the first power domain is to be changed from the power-down state to the power-up state but the second power domain is always in the power-up state or when the second power domain is to be changed from the power-down state to the power-up state but the first power domain is always in the power-up state, the first isolation module 304 actively transmits a fifth notification request to the first processing module 303 after receiving the power-up request, the first processing module 303 clears the number of times of permission to transmit the second session request accumulated in response to the fifth notification request and does not receive the third control information any more, so that the number of times of permission to transmit the second session request accumulated in the first processing module 303 remains zero, and the first processing module 303 cannot transmit the session request to the outside. The first isolation module 304 then breaks the fourth request link with the first processing module 303 and establishes the first request link with the second isolation module 305. It should be noted that, in the case that the power domain is powered up, after the first isolation module 304 disconnects the fourth request link, if the first processing module 303 is in a state of allowing to send the session request, the first processing module 303 may send the session request again, where the first isolation module 304 does not respond to the session requests any more, but forwards the session requests to the second isolation module 305 through the first request link, so that the session request of the first processing module 303 can be normally responded, and isolation protection on the power domain is implemented.
In the embodiment of the invention, under the condition that one power domain of the master device or the slave device is electrified and the other power domain is always in an electrified state, the master device does not send the session request responded by the second processing module to the first isolation module of the power domain for responding through a fourth request link. Specifically, after the first isolation module of the slave device receives the power-on request, a fifth notification request is actively sent to the first processing module of the master device, and the first processing module clears the accumulated number of times of allowing to send the session request and no longer receives control information in response to the fifth notification request, so that the first processing module can not send the accumulated number of times of allowing to send the session request, and under the condition that the first processing module is ensured to be unable to send the session request outwards, a fourth request link between the first processing module and the first isolation module is disconnected, and a first request link between the first isolation module and the second isolation module is established, thereby avoiding the phenomenon that the first processing module still sends the session request at the moment possibly caused by that the fourth request link is disconnected and cleared, but the session request can not be responded, and further bus is suspended in a power domain where the first processing module is located.
In a possible implementation manner, as shown in fig. 2D, fig. 2D is a schematic diagram of another power-down isolation device link provided in an embodiment of the present invention, where the first isolation module 304 is further configured to send, after the fourth request link is disconnected, 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 control information in response to the sixth notification request; the first isolation module 304 is further configured to disconnect the second response link with the first processing module 303 and establish the first response link with the second isolation module 305 after the first processing module 303 responds to the sixth notification request.
Alternatively, if the first processing module 303 initiates a plurality of second session requests in an abnormal situation before the first isolation module 304 disconnects the above-mentioned fourth request link, and the first isolation module 304 forwards the second session requests to the first isolation module 304 through the fourth request link, the first isolation module 304 responds to the second session requests and generates corresponding second session responses, at this time, since the first isolation module 304 receives the fourth control information sent by the first processing module 303 before the power domain is powered up, the number of times the second session responses are allowed to be sent accumulated in the first isolation module 304 is non-zero, and the first isolation module 304 sequentially sends the generated second session responses 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 may send a sixth notification request to the first processing module 303, and the first processing module 303 will stop sending the fourth control information in response to the sixth notification request, so that the first isolation module 304 cannot receive the new fourth control information any more and cannot continuously accumulate the number of times of allowing to send the second session response. The first isolation module 304 then breaks the second response link with the first processing module 303 and establishes the first response link with the second isolation module 305, so that the session response generated by the first isolation module 304 in the abnormal situation cannot be sent from the above-mentioned second response link to the first processing module 303, thereby implementing the isolation protection for the power domain.
For example, two session requests that would otherwise be responded to by a slave device (e.g., the second processing module in the second power domain mentioned above) are initiated by the first processing module 303 in the event of an exception before the first isolation module 304 breaks the fourth request link, and two corresponding session responses are generated after the first isolation module 304 receives and responds to the two session requests. If the first isolation module 304 receives three fourth control information generated by the first processing module 303, the number of times the first isolation module 304 accumulates the allowed sending session responses is three, and the first isolation module 304 may return a corresponding session response to the first processing module 303, optionally, after the first isolation module 303 returns the two session responses, the number of times the first isolation module 304 accumulates the allowed sending session responses is one, and the first isolation module 304 is still in a state of allowing sending session responses. When the first processing module 303 responds to the sixth notification request sent by the first isolation module 304, the first isolation module 304 disconnects the second response link with the first processing module 303, so that the first isolation module 304 cannot receive the new fourth control information, and therefore the number of allowed session responses accumulated by the first isolation module 304 remains one.
In the 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 does not respond to the session request initiated by the first processing module and responded by the second processing module. Specifically, the first isolation module actively sends a sixth notification request to the first processing module, and after the first processing module responds to the sixth notification request to stop sending control information to the first isolation module, the second response link between the first processing module and the first isolation module is disconnected, so that the phenomenon that the first processing module still sends control information at the moment possibly caused by that the second response link is disconnected first and then the control information is stopped to be sent is avoided, but the control information cannot be responded, and further bus hang-up phenomenon occurs in a power domain where the first processing module is located.
In a possible implementation, as shown in fig. 2D, the first isolation module 304 is further configured to send, to the second isolation module 305, a request for allowing a session through the third request link; a second isolation module 305, configured to send a seventh notification request to the second processing module 306 after receiving the session permission request; a second processing module 306, configured to respond to the seventh notification request, and be in a state that allows transmission of the first control information and transmission of the first session response; the second isolation module 305 is further configured to send, after the second processing module 306 responds to the seventh notification request, an allowed session response to the first isolation module 304 through the third request link; the first isolation module 304 is further configured to receive the allowed session response.
Specifically, after the first isolation module 304 disconnects the fourth request link and the second response link, the first isolation module 304 may send an allowed session request to the second isolation module 305 through the third request link, and after the second isolation module 305 receives the allowed session request, the second isolation module 305 may send a seventh notification request to the second processing module 306, and the second processing module 306 is in a state of allowing to send the first control information and allowing to send the first session response in response to the seventh notification request. The second isolation module 305 then sends an allowed session response to the first isolation module 304 indicating that the second processing module 306 is already in a state allowing the first control information to be sent and allowing the first session response to be sent.
For example, two session requests that would otherwise be responded to by a slave device (e.g., the second processing module in the second power domain mentioned above) are initiated by the first processing module 303 in the event of an exception before the first isolation module 304 breaks the fourth request link, and the two session requests that would otherwise be responded to by the second processing module 306 are received by the first isolation module 304 and two corresponding session responses are generated in response to the two session requests. If the first isolation module 304 receives the third control information generated by the first processing module 303, the number of allowed sending session responses accumulated by the first isolation module 304 is three, the first isolation module 304 may return corresponding session responses to the first processing module 303, after the first isolation module 303 returns the two session responses, the number of allowed sending session responses accumulated by the first isolation module 304 is one, and the first isolation module 304 is still in a state of allowing sending session responses. When the first processing module 303 does not send the fourth control information any more, the first isolation module 304 disconnects the second response link with the first processing module 303, so that the first isolation module 304 cannot receive the new fourth control information, and therefore the number of times the first isolation module 304 accumulates the allowed session response to be sent remains one. At this time, the first quarantine module 304 may transmit a session permission request to the second quarantine module 305, and after the second quarantine module 305 receives the session permission request, a seventh notification request may be transmitted to the second processing module 306, and the second processing module 306 may be in a state where the second processing module 306 may retransmit the first control information and allow transmission of a session response in response to the seventh notification request. The second isolation module 305 then sends an allowed session response to the first isolation module 304 indicating that the second processing module 306 is in a state where it can resend the first control information and allow the session response to be sent. It should be noted that, the first control information is a signal generated by the second processing module 306 and sent to the second isolation module 305, and then the second isolation module 305 sends the signal to the first isolation module 304 and forwards the signal to the first processing module 303 through the first request link.
In an 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) may send a seventh notification request to the second processing module in the slave device after receiving the session permission request sent by the master device (for example, the above-mentioned first power domain), and the second processing module is in a state of permission to send control information and a session response to the master device in response to the seventh notification request. The slave device is then transmitting an allowed session response to the master device indicating that the second processing module is already in a state allowing the transmission of the first control information and allowing the transmission of the first session response.
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 send the second control information and the first session request in response to the eighth notification request; a second isolation module 305, configured to receive the second control information and the first session request, and forward the second control information and the first session request to a second processing module 306; the second processing module 306 is configured to: receiving the second control information, and accumulating the times of allowing to transmit the first session response; generating the first session response in response to the first session request; transmitting the first session response; the first processing module 303 is further configured to receive the first session response.
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, where the number of times the first processing module 303 is allowed to send the session request is accumulated and is no longer kept zero, and each time the first processing module 303 receives the first control information sent by the second processing module 306, the number of times the first session request is allowed to be sent is accumulated. When the number of times the first processing module 303 is allowed to send the first session request is non-zero, the first processing module 303 may send the first session request through the first request link, at which time the second processing module 306 responds to the session request instead of the first isolation module 304 responding to the session request. Next, the first processing module 303 may send the second control information through the first response link, and the second processing module 306 may accumulate the number of times the first session response is allowed to be sent once each time the second processing module 306 receives the second control information sent by the first processing module 303. When the number of allowed sending session responses in the second processing module 306 is non-zero, the second processing module 306 may send the first session response over the first response link, at which point the first session response is received by the first processing module 303. 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, the first session response is sent to the first processing module 303 through the first response link, and the response to the session request initiated by the first processing module 303 is completed.
It should be noted that, since the first session request and the second session request are initially targeted for the second processing module 306, but in a case where one of the first power domain or the second power domain needs to perform the power-down processing, the device that actually responds to the second session request is the first isolation module 304, the device cannot perform cross-power domain interaction. The second session response returned by the first quarantine module 304 is used to inform the first processing module 303 that its session request did not get the target slave response. 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.
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, after the first processing module 303 responds to the notification request, the number of times the first processing module 303 is allowed to send the session request may not be kept zero any more, and if the first processing module 303 receives the control information, the number of times the first processing module 303 starts to accumulate the number of times the session request is allowed to send. When the first processing module 303 receives a first control message generated by the second processing module 306, and the accumulated number of times allowed to send the first session request is one, the first processing module 303 may send a first session request to the second processing module 306 through the first request link, while the first processing module 303 may send one or more second control messages to the second processing module 306 through the first response link, where the second processing module 306 responds to the first session request and generates a corresponding first session response, and since the second processing module 306 receives one or more second control messages sent by the first processing module 303 through the first response link, the number of times allowed to send the Xu Fasong session response is non-zero in the second processing module 306, where the second processing module 306 is in a state allowed to send the session response. The second processing module 306 sends the generated first session response to the first processing module 303 through the first response link, so as to complete cross-power-domain interaction between the first power domain and the second power domain, and avoid the phenomena of packet loss and die-up of the chip system caused by the power-on or power-off state change of the power domain.
In the embodiment of the present invention, after the fourth request link and the second response link are disconnected, the first isolation module does not respond to the session request that is responded by the slave device (for example, the second power domain mentioned above), and at this time, the session request initiated at the first processing module and responded by the slave device is sent to the second processing module of the slave device to respond. Specifically, the first processing module in the master device responds to the eighth notification request sent by the first isolation module in the master device, at this time, the first processing module resumes to accumulate the number of times of allowing the session request to be sent, and each time the first processing module receives the control information sent by the master device, the first processing module accumulates the number of times of allowing the session request to be sent once. In the case where the number of allowed transmission of session requests in the first processing module is non-zero, the first processing module may transmit a session request responded to by the second processing module. Next, each time the second processing module of the slave device receives the control information transmitted by the first processing module, the number of times the session response is allowed to be transmitted is counted. In the case where the number of times the session response is allowed to be transmitted in the slave device is non-zero, the slave device may transmit the session response, at which time the session request initiated by the first processing module gets the response of the slave device. Therefore, under the condition that one power domain of the master device or the slave device is electrified and the other power domain is always in an electrified state, the session request of the master device, which is sent to the slave device, is not sent to the first isolation module which is disconnected in a corresponding way but is sent to the slave device for responding, so that under the condition that the power domain is electrified, the power domain is prevented from being hung up, and the normal response of the session request sent to the slave device by the master device can be obtained while the isolation protection of the power domain is realized.
In order to describe the power-down isolation device in the embodiment of the present application in more detail, an exemplary description will be made below with reference to fig. 3 based on the network-on-chip structure and the session transmission manner, and fig. 3 is a schematic design structure diagram of a power domain boundary implementation power-down isolation protection processing device according to the embodiment of the present application.
As shown in fig. 3, when the first power domain 301 in fig. 2A-2D is the PD-a510 in fig. 3, the second power domain 302 is the PD-B520 in fig. 3, the first processing module 303 is the Master 511 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 the link 530 in fig. 3, and the first response link is the link 531 in fig. 3. 540 in fig. 3 is a handshake signal between pd_m512 and pd_s521 that cooperatively implement the broken links of link 530 and link 531 for the power domain boundary; 550 in fig. 3 is a handshake signal between the power manager and the pd_m512, for controlling power-up and power-down processes of a power domain boundary link where the pd_m512 is located; 560 in fig. 3 is a handshake signal between the power manager and the pd_s 521, which is used to control the power-up and power-down processes of the power domain boundary link where the pd_s 521 is located. The working procedures of the power failure isolation device provided by the embodiment of the application comprise the following working procedures under four conditions. Wherein,
(1) The Master511 side power down workflow:
step 1: the system power manager requests that the power boundary of PD-a510 and PD-B520 enter a power down isolation state by setting pwrd_a_req in 550 to 1. Wherein a power down request is sent to the first isolation module 304 as mentioned above.
Step 2: when pd_m512 receives pwrd_a_req to be 1, if the internal state record is already in the power-down state, then step 5 is entered, otherwise step 3 is entered. 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, power is directly turned off, and if the second power domain is in the power-up state, a subsequent chain breaking process is required.
Step 3: the pd_m512 sequentially performs the following processes:
step 3.1: with pwrdm_tx (515) set to 1, request Master511 does not allow a new request to be sent over link 513, tx_crdt_cnt_x is set to 0 again inside Master511, and held. Wherein the first isolation module 304 sends the first notification request to the first processing module 303, the first processing module 303 clears the accumulated number of times the first session request is allowed to be sent in response to the first notification request, and stops receiving the first control information to stop accumulating the number of times the first session request is allowed to be sent.
Step 3.2: the response corresponding to the request waiting to be sent over link 513 has been returned over link 514. Links 513 and 514 are used to forward session requests initiated by Master511 and session responses generated by Slave 522.
Step 3.3: the pwrd_rx_req516 is set to 1, and the request Master511 sets its internal rx_crdt_cnt_x to the reset value and holds. The first isolation module 304 sends a 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: link 513 and link 530 are disconnected, link 514 and link 531 are disconnected, and link 513 and link 514 are connected to the Default Slave device Default Slave in pd_m.
Step 3.5: simultaneously, pwrdm_tx515 and pwrd_rx_req516 are set to 0, allowing tx_crdt_cnt_x of Master511 to receive the credit and allow it to send a request over link 513, rx_crdt_cnt_x to send the credit; subsequently, the Master511 sends a request through a link 513, and the Default Slave returns a response of Dummy through a link 514, so that power-down isolation protection is realized. The first isolation module 304 is further configured to send a fourth request to the first processing module 303 through the second request link and send third control information through the fourth request link, where the fourth request corresponds to the above-mentioned first isolation module; the first processing module 303 is further configured to send fourth control information to the first isolation module 304 in response to a fourth knowing request; receiving third control information and accumulating the number of allowed second session requests; sending a second session request to the first quarantine module 304; the first 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 a response that the first quarantine module 304 responds to the second session request and sends to the first processing module 303 over the second response link; responding to the second session request and generating a second session response; sending a second session response to the first processing module 303; the first processing module 303 is further configured to receive a second session response.
Step 3.6: setting conn_req540 to 1, the pd_s521 is informed to perform the Slave522 side chain scission processing, and the process proceeds to step 4. The features of which correspond to those mentioned above, the first quarantine module 304 is also configured to send a request to suspend the session to the second quarantine module 305 via the third request link.
Step 4: after the following processing is performed in parallel on the pd_s521, the process proceeds to step 5
Step 4.1: with pwrds_rx525 set to 1, the request Slave522 sets its rx_crdt_cnt_x to a reset value, disallows return to credit, and holds. 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 is in a state of stopping sending the first control information.
Step 4.2: the pwrds_tx526 is set to 1, and the Slave522 is requested to set its internal tx_crdt_cnt_x to 0 and hold. The second processing module 306 is configured to stop sending the state of the first session response in response to the third notification request, where the second processing module corresponds to the above-mentioned description; the first session response is a response that the second processing module 306 responds to the first session request and sends to the first processing module 303 over the first response link.
Step 4.3: setting conn_ack540 to 1; corresponding to the above, the second isolation module 305 is further configured to send a pause session response to the first isolation module 304 via the third request link after the second processing module 306 responds to the third notification request.
Step 5: pd_m512 sets pwrd_a_ack550 to 1, completing the power down procedure.
(2) Working flow of Master power-on:
step 1: the system power manager requests the power boundary of PD-a 510 and PD-B520 to enter a power-up state by setting pwrd_a_req in 550 to 0. Corresponding to the above, the first isolation module 304 is configured to receive a power-on request.
Step 2: when pd_m512 receives pwrd_a_req to be 0, if the internal state record is already in the power-down state, then step 5 is entered, otherwise step 3 is entered. It should be noted that, after the first isolation module 304 receives the power-up request, if the second power domain is in the power-down state, the power-up is directly performed, and if the second power domain is in the power-up state, the subsequent chain establishment process is required.
Step 3: the pd_m512 sequentially performs the following processes:
step 3.1: with pwrdm_tx515 set to 1, the requesting Master511 does not allow a new request to be sent over link 513, and again tx_crdt_cnt_x is set to 0 inside Master511 and held. The feature of the method is that the first isolation module 304 sends a fifth notification request to the first processing module 303, the first processing module 303 clears the accumulated number of times of allowing to send the second session request in response to the fifth notification request, and stops receiving the third control information to stop accumulating the number of times of allowing to send the second session request.
Step 3.2: the response corresponding to the request waiting to be sent over link 513 has been returned over link 514.
Step 3.3: the pwrd_rx_req516 is set to 1, and the request Master511 sets its internal rx_crdt_cnt_x to the reset value and holds. Wherein the first isolation module 304 sends a sixth notification request to the first processing module 303 via the second request link after disconnecting the fourth request link, corresponding to the above-mentioned description; the first processing module 303 stops transmitting the fourth control information in response to the sixth notification request.
Step 3.4: disconnecting link 513 and link 514 from the defaults Slave while setting rx_crdt_cnt_x on the RX side, which is connected to link 513 by defaults Slave, to a reset value and not allowing return to credit, and tx_crdt_cnt_x on the TX side, which is connected to link 514, to 0; link 513 is connected to link 530 and link 514 is connected to 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, corresponding to the above-mentioned features; 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: setting pwrdm_tx515 to 0 allows tx_crdt_cnt_x of Master511 to receive the credit and allow it to send a request over link 513.
Step 3.6: setting conn_req540 to 1, informing pd_s521 to perform Slave522 side link establishment processing, and proceeding to step 4. Corresponding to the above, the first quarantine module 304 sends a request to the second quarantine module 305 to allow a session through the third request link.
Step 4: after the pd_s521 performs the following processing in parallel, the process proceeds to step 6:
step 4.1: setting pwrds_rx525 to 0 allows Slave522 to return its internal rx_crdt_cnt_x back to credit. The features of which correspond to those mentioned above, the second isolation module 305 sends a seventh notification request to the second processing module 306 after receiving the session permission request; the second processing module 306 is in a state of allowing transmission of the first control information and allowing transmission of the first session response in response to the seventh notification request.
Step 4.2: setting pwrds_tx526 to 0 allows Slave522 to return a response over its internal link 524 and allows tx_crdt_cnt_x in Slave522 to receive the credit.
Step 4.3: connack 540 is set to 1. Corresponding to the above, the second quarantine module 305 sends an allowed session response to the first quarantine module 304 over the third request link after the second processing module 306 responds to the seventh notification request.
Step 5: pd_m512 sets pwrd_a_ack550 to 0, completing the power-up procedure.
Step 6: after the following processing is performed on the pd_m512, step 5 is entered:
step 6.1: setting pwrd_rx_req516 to 0 allows rx_crdt_cnt_x to send credits.
(3) Workflow of power down of Slave side:
step 1: the system power manager requests that the power boundary of PD-a510 and PD-B520 enter a power down isolation state by setting pwrd_b_req in 560 to 1.
Step 2: when pd_s521 receives pwrd_b_req to be 1, if the internal state record is already in the power-down state, then step 5 is entered, otherwise slv _pwron is set to be 0, and step 3 is entered;
step 3: the pd_m512 sequentially performs the following processes:
step 3.1: with pwrdm_tx515 set to 1, the requesting Master511 does not allow a new request to be sent over link 513, and again tx_crdt_cnt_x is set to 0 inside Master511 and held.
Step 3.2: the responses corresponding to the requests waiting to be sent over link 513 have all been returned over link 514;
step 3.3: the pwrd_rx_req516 is set to 1, and the request Master511 sets its internal rx_crdt_cnt_x to the reset value and holds.
Step 3.4: disconnecting link 513 from link 530, disconnecting link 514 from link 531, and connecting link 513 and link 514 to Default Slave in pd_m 512;
Step 3.5: simultaneously, pwrdm_tx515 and pwrd_rx_req516 are set to 0, allowing tx_crdt_cnt_x of Master 511 to receive the credit and allow it to send a request over link 513, rx_crdt_cnt_x to send the credit; subsequently, the Master 511 sends a request through a link 513, and the Default Slave returns a response of Dummy through a link 514, so that power-down isolation protection is realized.
Step 3.6: setting conn_req540 to 1, the pd_s521 is informed to perform the Slave522 side chain scission processing, and the process proceeds to step 4.
Step 4: after the pd_s521 performs the following processing in parallel, the process proceeds to step 5:
step 4.1: with pwrds_rx525 set to 1, the requesting Slave522 sets its internal rx_crdt_cnt_x to a reset value, disallows return to credit, and holds.
Step 4.2: the pwrds_tx526 is set to 1, and the Slave522 is requested to set its internal tx_crdt_cnt_x to 0 and hold.
Step 4.3: connack 540 is set to 1.
Step 5: pd_m512 sets pwrd_b_ack560 to 1, completing the power down procedure.
(4) Workflow of powering on Slave side:
step 1: the system power manager requests the power boundaries of PD-a510 and PD-B520 to enter a power-up state by setting pwrd_b_req at 560 to 0.
Step 2: when pd_s521 receives pwrd_b_req to be 0, if the internal state record is already in the power-down state, then step 5 is entered, otherwise slv _pwron is set to 1, and step 3 is entered.
Step 3: the pd_m512 sequentially performs the following processes:
step 3.1: with pwrdm_tx515 set to 1, the requesting Master511 does not allow a new request to be sent over link 513, and again tx_crdt_cnt_x is set to 0 inside Master511 and held.
Step 3.2: the response corresponding to the request waiting to be sent over link 513 has been returned over link 514.
Step 3.3: the pwrd_rx_req516 is set to 1, and the request Master511 sets its internal rx_crdt_cnt_x to the reset value and holds.
Step 3.4: disconnecting link 513 and link 514 from the defaults Slave while setting rx_crdt_cnt_x on the RX side, which is connected to link 513 by defaults Slave, to a reset value and not allowing return to credit, and tx_crdt_cnt_x on the TX side, which is connected to link 514, to 0; link 513 is connected to link 530 and link 514 is connected to link 531.
Step 3.5: setting pwrdm_tx515 to 0 allows tx_crdt_cnt_x of Master511 to receive the credit and allow it to send a request over link 513; the method comprises the steps of carrying out a first treatment on the surface of the
Step 3.6: setting conn_req540 to 1, informing PD_S521 to perform Slave522 side chain establishment processing, and entering step 4;
step 4: after the pd_s521 performs the following processing in parallel, the process proceeds to step 5 and step 6 in parallel:
step 4.1: setting pwrds_rx525 to 0 allows Slave522 to return its internal rx_crdt_cnt_x to credit;
Step 4.2: setting pwrds_tx526 to 0 allows Slave522 to return a response over link 524link and allows tx_crdt_cnt_x in Slave522 to receive the credit;
step 4.3: connack 540 is set to 1.
Step 5: pd_s521 sets pwrd_b_ack560 to 0, completing the power-up procedure.
Step 6: pd_m512 performs the following processing:
step 6.1: setting pwrd_rx_req516 to 0, allowing rx_crdt_cnt_x to send credits;
it should be noted that, only after the pd_m or pd_s completes the power-up or power-down processing flow and enters the power-up or power-down state, a new power-up or power-down request is accepted.
The foregoing describes in detail the apparatus of an embodiment of the present invention, and the following provides a related method of an embodiment of the present invention.
Referring to fig. 4A, fig. 4A is a schematic flow chart of a power-down isolation method according to an embodiment of the present invention, and the method is applicable to any one of the power-down isolation devices in fig. 2A to 2D and a device including the power-down isolation device. The method may include the following steps S401 to S403. 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; the second power domain includes a second isolation module; the first processing module accumulates the times of allowing to send the first session request once every time the first processing module receives the first control information once; the first session request is a session request forwarded by the first quarantine module to the second quarantine module over a first request link. Wherein:
Step S401: after receiving the power-down request, the first isolation module sends a first notification request to the first processing module through a second request link;
step S402: the first processing module responds to the first notification request, clears the accumulated number of times of allowing the first session request to be sent, and stops receiving the first control information to stop accumulating the number of times of allowing the first session request to be sent;
step S403: the first quarantine module disconnects the first request link with the second quarantine module after the first processing module responds to the first notification request.
In one possible implementation, the target slave device of the first session request is a second processing module included in the second power domain; the second processing module accumulates the times of allowing to send the first session response once every time the second processing module receives the second control information once; the first session response is a response sent by the second processing module to the first processing module over a first response link in response to the first session request; the method further comprises the steps of: after the first request link is disconnected through the first isolation module, a second notification request is sent to the first processing module through the second request link; stopping sending the second control information by the first processing module in response to the second notification request; and after the first processing module responds to the second notification request, the first response link between the first processing module and the second isolation module is disconnected through the first isolation module.
In one possible implementation, the method further includes: sending a session suspension request to the second isolation module through a third request link by the first isolation module; after receiving the session suspension request through the second isolation module, sending a third notification request to the second processing module; responding to the third notification request by the second processing module, and stopping sending the first control information and the first session response; after the second processing module responds to the third notification request, sending a session suspension response to the first isolation module through the third request link by the second isolation module; the pause session response is received by the first quarantine module.
In one 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; the target slave device of the second session request is the second processing module; the second session request is a session request sent to the first isolation module by the first processing module through a fourth request link; the method further comprises the steps of: sending a fourth request to the first processing module through the second request link by the first isolation module and sending the third control information through the fourth request link; transmitting fourth control information to the first isolation module by the first processing module in response to the fourth knowing request; receiving the third control information, and accumulating the times of allowing to send the second session request; sending the second session request to the first isolation module; receiving the fourth control information through the first isolation module, and accumulating the times of allowing to send a second session response; the second session response is a response that the first isolation module responds to the second session request and is sent to the first processing module through a second response link; responding to the second session request and generating the second session response; transmitting the second session response to the first processing module; the second session response is received by the first processing module.
In one possible implementation, the method further includes: after receiving a power-on request through the first isolation module, sending a fifth notification request to the first processing module through the second request link; clearing the accumulated number of times of allowing the second session request to be transmitted by the first processing module in response to the fifth notification request, and stopping receiving the third control information to stop accumulating the number of times of allowing the second session request to be transmitted; and 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 the first request link with the second isolation module.
In one possible implementation, the method further includes: after the fourth request link is disconnected through the first isolation module, a sixth notification request is sent to the first processing module through the second request link; stopping sending the fourth control information by the first processing module in response to the sixth notification request; and after the first processing module responds to the sixth notification request, the second response link between the first processing module and the first isolation module is disconnected, and the first response link between the first processing module and the second isolation module is established.
In one possible implementation, the method further includes: transmitting, by the first isolation module, a request for allowing a session to the second isolation module through the third request link; after receiving the session permission request through the second isolation module, sending a seventh notification request to the second processing module; responding to the seventh notification request by the second processing module, and in a state of allowing transmission of the first control information and allowing transmission of the first session response; transmitting, by the second isolation module, an allowed session response to the first isolation module through the third request link after the second processing module responds to the seventh notification request; the allowed session response is received by the first quarantine module.
In one possible implementation, the method further includes: sending, by the first isolation module, an eighth notification request to the first processing module via the second request link; transmitting, by the first processing module, the second control information and the first session request in response to the eighth notification request; receiving, by the second isolation module, the second control information and the first session request, and forwarding the second control information and the first session request to the second processing module; receiving the second control information through the second processing module, and accumulating the times of allowing to send the first session response; generating the first session response in response to the first session request; transmitting the first session response; the first session response is received by the first processing module.
It should be noted that, the implementation of each step in the power-down isolation method described in the embodiment of the present invention is completed in the power-down isolation device in the embodiment of the device, which is not described herein again.
Referring to fig. 4B, fig. 4B is a schematic diagram of an embodiment of the present inventionA user uses an application user interface schematic diagram, and the power-down isolation device provided by the embodiment of the invention is applied to electronic equipment. The relevant description of the power down isolation device can be found in the above-mentioned fig. 2A to 2D, and will not be repeated here. As shown in FIG. 4B, when a user wants to run a social application installed on an electronic device, such as WeChatApplication program, please refer to the user interface 71 in fig. 4B, when the user can click on the WeChat through the input device of the electronic device such as the display screenIs shown in the figure) 701. Referring next to the user interface 72, at this time, through an account number input box 702 and a password input box 703, the user is prompted to login to enter WeChat by filling in an account number and a passwordThe application interface is user interface 73. If the user clicks the chat window with the user Arvin and the storage module storing the chat record is in a power-down state, the user interface 71 will be accessed by flashing back at this time, and by applying the embodiment of the invention to the electronic device, the crash condition of the electronic device when accessing the power-down module can be avoided.
The present application provides a semiconductor chip, which may include the power-down isolation device related to any implementation manner of the first aspect.
The present application provides a chip system comprising a power down isolation device according to any one of the implementations of the first aspect. The chip system can be composed of chips, and can also comprise chips and other discrete devices.
The application provides an electronic device comprising 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 the power-down isolation device related to any implementation manner of the first aspect.
The present application provides a system-on-a-chip SoC chip including a power-down isolation device according to any one of the implementations of the first aspect. The SoC chip may be formed by a chip, or may include a chip and other discrete devices.
The present application provides a storage device having a function of implementing any one of the power-down isolation methods of the second aspect described above. The functions can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the functions described above.
The application provides a terminal comprising a host comprising a power down isolation device according to any one of the implementations of the first aspect. The terminal may also include a communication interface for the terminal to communicate with other devices or communication networks.
The present application provides a computer-readable storage medium storing a computer program which, when executed by a storage device, implements the flow of the power-down isolation method of any one of the above second aspects.
An embodiment of the present application provides a computer program, where the computer program includes instructions, when the computer program is executed by a storage device, enable the storage device to perform the flow of the power failure isolation method according to any one of the second aspects.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and for parts of one embodiment that are not described in detail, reference may be made to the related descriptions of other embodiments.
It should be noted that, for simplicity of description, the foregoing method embodiments are all described as a series of acts, but it should be understood by those skilled in the art that the present application is not limited by the order of acts described, as some steps may be performed in other orders or concurrently in accordance with the present application. Further, those skilled in the art will also appreciate that the embodiments described in the specification are all preferred embodiments, and that the acts and modules referred to are not necessarily required for the present application.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, such as the above-described division of units, merely a division of logic functions, and there may be additional manners of dividing in actual implementation, such as multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, or may be in electrical or other forms.
The units described above as separate components may or may not be physically separate, and components shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units described above, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on this understanding, the technical solution of the present application may be embodied in essence or a part contributing to the prior art or all or part of the technical solution in the form of a software product stored in a storage medium, including several instructions for causing a computer device (which may be a personal computer, a server or a network device, etc., in particular may be a processor in the computer device) to perform all or part of the steps of the above-mentioned method of the various embodiments of the present application. Wherein the aforementioned storage medium may comprise: various media capable of storing program codes, such as a U disk, a removable hard disk, a magnetic disk, a compact disk, a Read-Only Memory (abbreviated as ROM), or a random access Memory (Random Access Memory, abbreviated as RAM), are provided.
The above embodiments are only for illustrating the technical solution of the present application, and not for limiting the same; although the application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims (18)

  1. A power down isolation device, comprising: 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; the second power domain includes a second isolation module; the first processing module accumulates the times of allowing to send the first session request once every time the first processing module receives the first control information once; the first session request is a session request forwarded by the first quarantine module to the second quarantine module over a first request link;
    the first isolation module is used for sending a first notification request to the first processing module through a second request link after receiving the power-down request;
    the first processing module is configured to respond to the first notification request, clear the accumulated number of times of allowing the first session request to be sent, and stop receiving the first control information to stop accumulating the number of times of allowing the first session request to be sent;
    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. The apparatus of claim 1, wherein the target response device of the first session request is a second processing module included in the second power domain; the second processing module accumulates the times of allowing to send the first session response once every time the second processing module receives the second control information once; the first session response is a response sent by the second processing module to the first processing module over a 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 the first request link is disconnected;
    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. The apparatus of claim 2, wherein the first quarantine module is further configured to send a pause session request to the second quarantine module over a third request link;
    The second isolation module is used for sending a third notification request to the second processing module after receiving the session suspension request;
    the second processing module is used for responding to the third notification request and is 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 pause session response.
  4. A device according to any of claims 1-3, wherein the first processing module accumulates the number of times that the second session request is allowed to be sent once per third control information is received once; the target response device of the second session request is the second processing module; the second session request is a session request sent to the first isolation module by the first processing module through a fourth request link;
    the first isolation module is further configured to send a fourth request for knowing 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 further configured to:
    responding to the fourth knowing request, and sending fourth control information to the first isolation module;
    receiving the third control information, and accumulating the times of allowing to send the second session request;
    sending the second session request to the first isolation module;
    the first isolation module is further configured to:
    receiving the fourth control information, and accumulating the times of allowing to send the second session response; the second session response is a response that the first isolation module responds to the second session request and is sent to the first processing module through a second response link;
    responding to the second session request and generating the second session response;
    transmitting the second session response to the first processing module;
    the first processing module is further configured to receive the second session response.
  5. The apparatus of any of claims 2-4, wherein the first isolation module is further configured to send a fifth notification request to the first processing module over the second request link after receiving a power-on request;
    the first processing module is further configured to clear the accumulated number of times of allowing the second session request to be sent in response to the fifth notification request, and stop receiving the third control information to stop accumulating the number of times of allowing the second session request to be sent;
    The first isolation module is further configured to disconnect the fourth request link with the first processing module and establish the first request link with the second isolation module after the first processing module responds to the fifth notification request.
  6. The apparatus of claim 5, wherein the first quarantine module is further configured to send a sixth notification request to the first processing module over the second request link after the fourth request link is disconnected;
    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 and establish the first response link with the second isolation module after the first processing module responds to the sixth notification request.
  7. The arbitrary apparatus of claims 5-6, wherein the first quarantine module is further configured to send a request to allow a session to the second quarantine module through the third request link;
    the second isolation module is used for sending a seventh notification request to the second processing module after receiving the session permission request;
    The second processing module is configured to respond to the seventh notification request, and is in a state of allowing transmission of the first control information and allowing transmission of the first session response;
    the second isolation module is further configured to send an allowed session 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 allowed session response.
  8. The apparatus of any of claims 5-7, wherein the first quarantine module is further configured to send an eighth notification request to the first processing module over 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 times of allowing to send the first session response;
    Generating the first session response in response to the first session request;
    transmitting the first session response;
    the first processing module is further configured to receive the first session response.
  9. The power-down isolation method is characterized by being applied to a power-down isolation device, wherein 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; the second power domain includes a second isolation module; the first processing module accumulates the times of allowing to send the first session request once every time the first processing module receives the first control information once; the first session request is a session request forwarded by the first quarantine module to the second quarantine module over a first request link; the method comprises the following steps:
    after receiving a power-down request through the first isolation module, sending a first notification request to the first processing module through a second request link;
    clearing the accumulated number of times of allowing the first session request to be sent by the first processing module in response to the first notification request, and stopping receiving the first control information to stop accumulating the number of times of allowing the first session request to be sent;
    And after the first processing module responds to the first notification request, the first request link between the first processing module and the second isolation module is disconnected through the first isolation module.
  10. The method of claim 9, wherein the target slave device of the first session request is a second processing module included in the second power domain; the second processing module accumulates the times of allowing to send the first session response once every time the second processing module receives the second control information once; the first session response is a response sent by the second processing module to the first processing module over a first response link in response to the first session request; the method further comprises the steps of:
    after the first request link is disconnected through the first isolation module, a second notification request is sent to the first processing module through the second request link;
    stopping sending the second control information by the first processing module in response to the second notification request;
    and after the first processing module responds to the second notification request, the first response link between the first processing module and the second isolation module is disconnected through the first isolation module.
  11. The method according to claim 10, wherein the method further comprises:
    sending a session suspension request to the second isolation module through a third request link by the first isolation module;
    after receiving the session suspension request through the second isolation module, sending a third notification request to the second processing module;
    responding to the third notification request by the second processing module, and stopping sending the first control information and the first session response;
    after the second processing module responds to the third notification request, sending a session suspension response to the first isolation module through the third request link by the second isolation module;
    the pause session response is received by the first quarantine module.
  12. The method according to any of claims 9-11, wherein the first processing module accumulates the number of times the second session request is allowed to be sent once per third control information received once; the target slave device of the second session request is the second processing module; the second session request is a session request sent to the first isolation module by the first processing module through a fourth request link; the method further comprises the steps of:
    Sending a fourth request to the first processing module through the second request link by the first isolation module and sending the third control information through the fourth request link;
    transmitting fourth control information to the first isolation module by the first processing module in response to the fourth knowing request; receiving the third control information, and accumulating the times of allowing to send the second session request; sending the second session request to the first isolation module;
    receiving the fourth control information through the first isolation module, and accumulating the times of allowing to send a second session response; the second session response is a response that the first isolation module responds to the second session request and is sent to the first processing module through a second response link; responding to the second session request and generating the second session response; transmitting the second session response to the first processing module;
    the second session response is received by the first processing module.
  13. The method according to any of claims 10-12, wherein the method further comprises:
    after receiving a power-on request through the first isolation module, sending a fifth notification request to the first processing module through the second request link;
    Clearing the accumulated number of times of allowing the second session request to be transmitted by the first processing module in response to the fifth notification request, and stopping receiving the third control information to stop accumulating the number of times of allowing the second session request to be transmitted;
    and 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 the first request link with the second isolation module.
  14. The method of claim 13, wherein the method further comprises:
    after the fourth request link is disconnected through the first isolation module, a sixth notification request is sent to the first processing module through the second request link;
    stopping sending the fourth control information by the first processing module in response to the sixth notification request;
    and after the first processing module responds to the sixth notification request, the second response link between the first processing module and the first isolation module is disconnected, and the first response link between the first processing module and the second isolation module is established.
  15. The method according to any of claims 13-14, further comprising:
    transmitting, by the first isolation module, a request for allowing a session to the second isolation module through the third request link;
    after receiving the session permission request through the second isolation module, sending a seventh notification request to the second processing module;
    responding to the seventh notification request by the second processing module, and in a state of allowing transmission of the first control information and allowing transmission of the first session response;
    transmitting, by the second isolation module, an allowed session response to the first isolation module through the third request link after the second processing module responds to the seventh notification request;
    the allowed session response is received by the first quarantine module.
  16. The method according to any of claims 13-15, wherein the method further comprises:
    sending, by the first isolation module, an eighth notification request to the first processing module via the second request link;
    transmitting, by the first processing module, the second control information and the first session request in response to the eighth notification request;
    Receiving, by the second isolation module, the second control information and the first session request, and forwarding the second control information and the first session request to the second processing module;
    receiving the second control information through the second processing module, and accumulating the times of allowing to send the first session response; generating the first session response in response to the first session request; transmitting the first session response;
    the first session response is received by the first processing module.
  17. A computer readable storage medium, characterized in that the computer readable storage medium stores a computer program which, when executed by a processor, implements the method of any of the preceding claims 9-16.
  18. A computer program, characterized in that the computer readable program comprises instructions which, when executed by a processor, cause the processor to perform the method according to any of the preceding claims 9-16.
CN202180092640.8A 2021-02-07 2021-02-07 Power-down isolation device and related method Pending CN116762049A (en)

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
CN116762049A true CN116762049A (en) 2023-09-15

Family

ID=82741922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180092640.8A Pending CN116762049A (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)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625656B (en) * 2009-07-28 2012-09-19 杭州华三通信技术有限公司 Method and device for processing abnormity of PCI system
US8924612B2 (en) * 2012-04-04 2014-12-30 Arm Limited Apparatus and method for providing a bidirectional communications link between a master device and a slave device
KR20180107648A (en) * 2017-03-22 2018-10-02 삼성전자주식회사 Deadlock detector, system including the same and associated method
US10601217B2 (en) * 2017-04-27 2020-03-24 Qualcomm Incorporated Methods for detecting an imminent power failure in time 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
WO2022165790A1 (en) 2022-08-11

Similar Documents

Publication Publication Date Title
US10986171B2 (en) Method for unified communication of server, baseboard management controller, and server
US10848442B2 (en) Heterogeneous packet-based transport
US10564703B2 (en) Systems and methods for facilitating low power on a network-on-chip
TWI257575B (en) Method of managing power state transitions, and associated apparatus and system thereof
US7272741B2 (en) Hardware coordination of power management activities
WO2014032233A1 (en) System and method for live migration of virtual machine
JP5207198B2 (en) Apparatus, program, and method for transmitting / receiving packets
JPH10207822A (en) Interruption processing method for high speed i/o controller
JP7383631B2 (en) Protocol-level control for system-on-chip (SoC) agent reset and power management
JP5757325B2 (en) Virtual desktop system, network processing apparatus, management method, and management program
JP5242100B2 (en) Transition of ports in communication system from active state to standby state
KR101875710B1 (en) Packet flow control method, related apparatus, and computing node
US20130051398A1 (en) Remote control system, remote control method and program for remote control
US9882737B2 (en) Network system
US20230388251A1 (en) Tightly-Coupled, Loosely Connected Heterogeneous Packet Based Transport
US10223323B2 (en) Apparatus and method for controlling the number of lanes used for transferring data between information processing apparatuses
CN116762049A (en) Power-down isolation device and related method
KR20050080704A (en) Apparatus and method of inter processor communication
TWI724670B (en) Fault-tolerant system and control method thereof
US20220019459A1 (en) Controlled early response in master-slave systems
US20230133723A1 (en) System and method for event messages in a cache coherent interconnect
JP2009118106A (en) Network apparatus
Braescu et al. Monitoring CAN performances in distributed embedded systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination