WO2024080395A1 - 시스템 교착 상태를 해소하는 복원 장치 및 방법 - Google Patents

시스템 교착 상태를 해소하는 복원 장치 및 방법 Download PDF

Info

Publication number
WO2024080395A1
WO2024080395A1 PCT/KR2022/015370 KR2022015370W WO2024080395A1 WO 2024080395 A1 WO2024080395 A1 WO 2024080395A1 KR 2022015370 W KR2022015370 W KR 2022015370W WO 2024080395 A1 WO2024080395 A1 WO 2024080395A1
Authority
WO
WIPO (PCT)
Prior art keywords
deadlock
block
restoration
command
recovery
Prior art date
Application number
PCT/KR2022/015370
Other languages
English (en)
French (fr)
Inventor
이정우
임진석
권강덕
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to PCT/KR2022/015370 priority Critical patent/WO2024080395A1/ko
Publication of WO2024080395A1 publication Critical patent/WO2024080395A1/ko

Links

Images

Classifications

    • 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
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure

Definitions

  • This specification relates to a recovery device and method for resolving system deadlock.
  • Particular implementations relate to restoration devices and methods for resolving system deadlocks in systems of a vehicle.
  • a vehicle can perform wireless communication services with other vehicles or surrounding objects, infrastructure, or base stations.
  • various wireless communication services can be provided using Long Term Evolution (LTE) communication, 5G communication, or WiFi communication technology.
  • LTE Long Term Evolution
  • 5G Fifth Generation
  • WiFi Wireless Fidelity
  • SoC System on Chip
  • IP Intellectual Property
  • Various functional blocks and processors mounted on a system-on-chip operate by transmitting and receiving necessary data from each other. If a problem occurs in at least one of these functional blocks, a deadlock state may occur in which the entire system stops.
  • one purpose of the present specification is to provide a restoration device and method for resolving system deadlock.
  • Another object of the present specification is to provide a recovery device and method that resolves the issue that response signals to commands requested by the CPU are not transmitted due to a system deadlock caused by the operation of the central processing unit (CPU) stopping. will be.
  • Another purpose of the present specification is to resolve the inoperability of the central processing unit in the system itself even if a deadlock occurs.
  • Another purpose of the present specification is to provide a recovery method and device that allows the CPU to attempt system recovery.
  • a recovery device for resolving a system deadlock in a vehicle includes a recovery block that generates and transmits a deadlock occurrence signal when a deadlock occurs in the system; a deadlock manager block that transmits an interrupt upon receiving the deadlock occurrence signal from the restoration block and operates an internal timer to wait for processing of a specific operation to expire; and a central processing unit (CPU) operably coupled to a system bus and configured to receive the interrupt from the deadlock manager block and clear the interrupt in an operating state.
  • the deadlock manager block may determine that the CPU is deadlocked when the internal timer expires, and may transmit a deadlock resolution command to the restoration block.
  • the restoration block upon receiving the deadlock resolution command, resolves the deadlock of the corresponding interface associated with the deadlock resolution command, and the corresponding functional block associated with the deadlock resolution command is isolated from the system bus. It can be controlled as much as possible.
  • the corresponding functional block may be a first restoration block operably connected to a first master block among a plurality of master blocks. If the deadlock in the first recovery block is resolved and the CPU is determined to be operable, the CPU may perform a system recovery service routine and clear the interrupt of the deadlock manager block.
  • the deadlock manager block determines that the CPU is still deadlocked when the deadlock of the first recovery block is resolved, but the interrupt of the deadlock manager block is not cleared and the internal timer of the deadlock manager block expires again. You can.
  • the deadlock manager block can transmit a second deadlock resolution command to the second recovery block to which the second deadlock signal was transmitted and control the internal timer to operate again.
  • the second restoration block may be operably combined with a second master block among the plurality of master blocks.
  • the deadlock manager block may repeat transmitting a plurality of deadlock resolution commands to a plurality of restoration blocks until the CPU expires performing a system restoration service routine.
  • the deadlock manager block may determine that a system restoration attempt has failed when the plurality of deadlock resolution commands are transmitted to all the plurality of restoration blocks in which a deadlock has occurred.
  • the deadlock manager block if the deadlock manager block does not expire when the CPU performs a system recovery service routine even after deadlock resolution commands are sent to all the master blocks and all the slave blocks in which the deadlock occurred, It may be determined that the system restoration attempt has failed.
  • the deadlock manager block may transmit a system reset command to the system reset block to perform a reset on all blocks by rebooting all blocks of the entire system. there is.
  • the restoration block may be a master restoration block operably connected to a specific master block among a plurality of master blocks.
  • the master recovery block may be operably coupled to the specific master block through a command channel for receiving commands from the specific master block and a response channel for transmitting a response to the specific master block.
  • the master recovery block includes a first buffer interfaced with the command channel and a second buffer interfaced with the response channel; a virtual command generation module operably coupled to the first buffer to generate a deadlock occurrence signal; a virtual response receiving module operably coupled to the second buffer to receive commands received from the system bus; and a deadlock clear control module operably coupled to the first buffer and the second buffer, the deadlock clear control module configured to receive first control commands associated with a deadlock resolution command in the deadlock manager block.
  • the master recovery block includes a command monitor module operably coupled to the first buffer and the system bus and configured to monitor control commands transmitted through the command channel; a response monitor module operably coupled to the second buffer and the system bus, the response monitor module configured to monitor responses transmitted through the response channel; and a deadlock detection module operably coupled to the command monitor module and the response monitor module, and detecting a deadlock state in the system and transmitting a deadlock occurrence signal to the deadlock manager module.
  • the restoration device may further include a slave restoration block operably connected to a specific slave block among the plurality of slave blocks.
  • the slave recovery block may be operably coupled to the system bus through a command channel for receiving commands from the system bus and a response channel for transmitting responses to the system bus.
  • the slave recovery block includes a third buffer interfaced with the command channel and a fourth buffer interfaced with the response channel - the third buffer and the fourth buffer are operably coupled to the specific slave block; a virtual command reception module operably coupled to the third buffer and configured to receive a control command associated with the deadlock occurrence signal; a virtual response generation module operably coupled to the fourth buffer configured to generate a response associated with the deadlock occurrence signal; and a deadlock clear control module operably coupled to the third buffer and the fourth buffer, and configured to receive second control commands associated with a deadlock resolution command to the deadlock manager block.
  • the slave recovery block may include a command monitor module operably coupled to the third buffer and the system bus and configured to monitor control commands transmitted through the command channel; a response monitor module operably coupled to the fourth buffer and the system bus and configured to monitor responses transmitted through the response channel; and a deadlock detection module operably coupled to the command monitor module and the response monitor module, and detecting a deadlock state in the system and transmitting a deadlock occurrence signal to the deadlock manager module.
  • the deadlock manager module includes a deadlock information module configured to receive a deadlock occurrence signal from a deadlock detection module of the master recovery block and a deadlock occurrence signal from a deadlock detection module of the slave recovery block; and a deadlock clear module configured to transmit control commands associated with the deadlock resolution command to a deadlock clear control module of the master recovery block, and transmit second control commands associated with the deadlock clear to a deadlock clear control module of the slave recovery block.
  • a deadlock information module configured to receive a deadlock occurrence signal from a deadlock detection module of the master recovery block and a deadlock occurrence signal from a deadlock detection module of the slave recovery block
  • a deadlock clear module configured to transmit control commands associated with the deadlock resolution command to a deadlock clear control module of the master recovery block, and transmit second control commands associated with the deadlock clear to a deadlock clear control module of the slave recovery block.
  • a recovery method for resolving system deadlock in a vehicle includes a deadlock monitoring process of monitoring the occurrence of system deadlock in a recovery block; A deadlock determination process in which a deadlock manager block receives the deadlock signal from the recovery block to determine whether a deadlock has occurred in the system; A deadlock signal transmission process in which the restoration block generates and transmits a deadlock signal when a deadlock occurs in the system; an interrupt transmission process in which the deadlock manager block transmits an interrupt to a central processing unit (CPU) upon receiving the deadlock occurrence signal from the recovery block; The deadlock manager block determines that the CPU is deadlocked when an internal timer expires, and transmits a deadlock resolution command to the recovery block; a deadlock resolution command transmission process; And upon receiving the deadlock resolution command, the restoration block resolves the deadlock of the corresponding interface associated with the deadlock resolution command and controls the corresponding functional block associated with the deadlock resolution command to be isolated from the system bus. This may include a deadlock resolution process
  • the restoration method includes a deadlock resolution determination process to determine whether the deadlock in the restoration block is resolved and the CPU is operable; And when the deadlock in the recovery block is resolved and the CPU is determined to be operable, the CPU may further include an interrupt clearing process in which the CPU performs a system recovery service routine and clears the interrupt of the deadlock manager block.
  • the corresponding functional block may be a first restoration block operably connected to a first master block among a plurality of master blocks.
  • the deadlock manager block resolves the deadlock in the first recovery block, but if the interrupt of the deadlock manager block is not cleared and the internal timer of the deadlock manager block expires again, the CPU is still deadlocked. It can be judged to be in a state.
  • a second deadlock resolution command can be transmitted to the second restoration block to which the second deadlock signal has been transmitted, and the internal timer can be controlled to operate again.
  • the second restoration block may be operably combined with a second master block among the plurality of master blocks.
  • the deadlock manager block repeats transmitting a plurality of deadlock resolution commands to a plurality of restoration blocks until the CPU completes performing the system recovery service routine. can do.
  • the deadlock manager block may determine that the system restoration attempt has failed if the plurality of deadlock resolution commands are transmitted to all the plurality of restoration blocks in which a deadlock has occurred.
  • a deadlock information collection process may be performed to collect information on the location and order of occurrence of the deadlock.
  • the restoration method includes an internal timer expiration determination process of counting an internal timer of the deadlock manager block and determining whether the internal timer has expired; and a process of determining whether deadlock resolution commands have been transmitted to all locations according to the order of occurrence.
  • the central processing unit can be protected from falling into a deadlock state on its own so that the central processing unit can attempt system recovery without performing a system-wide reset.
  • FIG. 1 shows an example of a communication system to which implementations of the present disclosure are applied.
  • FIG. 2 shows an example of a wireless device to which implementations of the present disclosure are applied.
  • FIG. 3 shows the type of V2X application.
  • Figure 4 is a block diagram referenced in explaining a vehicle and a communication system mounted on the vehicle according to an embodiment of the present specification.
  • Figure 5 shows the configuration of a recovery device for resolving deadlock in a communication system according to the specification.
  • FIG. 6 shows an interface structure diagram for exchanging signals or commands between components in the recovery device of FIG. 5 when a deadlock occurs.
  • Figures 7a and 7b show an operation flowchart of a restoration method performed in a restoration apparatus for resolving a system deadlock according to the present specification.
  • Figure 8 shows the detailed structure of the master side restoration block and the detailed block of the deadlock manager.
  • FIG. 9 shows a detailed structure of a slave-side restoration block linked with a master-side restoration block through the deadlock manager of FIG. 8.
  • Figure 10 shows a flowchart of a restoration method for resolving system deadlock according to the present specification.
  • Figure 11 shows the configuration of a vehicle that operates in conjunction with the restoration device according to the present specification.
  • the communication system may be, but is not limited to, a communication system for performing communication in a vehicle.
  • 5G is a means of delivering streaming rated at hundreds of megabits per second at gigabits per second, and can complement Fiber-To-The-Home (FTTH) and cable-based broadband (or DOCSIS). Such high speeds are needed to deliver not only virtual reality and augmented reality, but also TVs with resolutions of 4K or higher (6K, 8K or higher).
  • Virtual Reality (VR) and Augmented Reality (AR) applications include highly immersive sports games. Certain applications may require special network configurations. For example, for VR games, gaming companies must integrate core servers with network operators' edge network servers to minimize latency.
  • Automotive is expected to become a significant new motivating force in 5G, with many examples of use cases for in-vehicle mobile communications. For example, entertainment for passengers requires broadband mobile communications with high concurrent capacity and high mobility. This is because in the future, users will continue to expect high-quality connections regardless of location and speed.
  • Another example of use in the automotive field is an AR dashboard.
  • the AR dashboard allows the driver to identify objects in the dark other than those visible from the front window, and displays the distance to and movement of the object by overlapping information delivery to the driver.
  • wireless modules will enable communication between vehicles, information exchange between vehicles and supporting infrastructure, and information exchange between vehicles and other connected devices, such as those accompanying pedestrians.
  • Safety systems reduce the risk of accidents by guiding drivers through alternative courses of action to help them drive more safely.
  • the next step will be remotely controlled or autonomous vehicles. This requires very high reliability and very fast communication between different autonomous vehicles and between vehicles and infrastructure. In the future, autonomous vehicles will perform all driving activities and drivers will only focus on traffic that the vehicle cannot identify. The technical requirements of autonomous vehicles require ultra-low latency and ultra-high reliability to increase traffic safety to levels that cannot be achieved by humans.
  • the communication system 1 includes wireless devices 100a to 100f, a base station (BS) 200, and a network 300.
  • Figure 1 illustrates a 5G network as an example of a network of the communication system 1, but the implementation of this specification is not limited to the 5G system and can be applied to future communication systems beyond the 5G system.
  • Base station 200 and network 300 may be implemented as wireless devices, and specific wireless devices may operate as base stations/network nodes in relation to other wireless devices.
  • Wireless devices 100a to 100f represent devices that perform communication using Radio Access Technology (RAT) (e.g., 5G NR or LTE), and may also be referred to as communication/wireless/5G devices.
  • Wireless devices 100a to 100f include, but are not limited to, robots 100a, vehicles 100b-1 and 100b-2, extended reality (XR; eXtended Reality) devices 100c, portable devices 100d, and home appliances. It may include a product 100e, an Internet-Of-Things (IoT) device 100f, and an Artificial Intelligence (AI) device/server 400.
  • vehicles may include vehicles with wireless communication capabilities, autonomous vehicles, and vehicles capable of vehicle-to-vehicle communication.
  • Vehicles may include unmanned aerial vehicles (UAVs) (e.g., drones).
  • UAVs unmanned aerial vehicles
  • XR devices may include Augmented Reality (AR)/Virtual Reality (VR)/Mixed Realty (MR) devices and may be mounted on vehicles, televisions, smartphones, computers, wearable devices, home appliances, digital signs, vehicles, robots, etc. It can be implemented in the form of a Head-Mounted Device (HMD) or Head-Up Display (HUD).
  • Portable devices may include smartphones, smart pads, wearable devices (e.g., smart watches or smart glasses), and computers (e.g., laptops).
  • Home appliances may include TVs, refrigerators, and washing machines.
  • IoT devices can include sensors and smart meters.
  • Wireless devices 100a to 100f may be connected to the network 300 through the base station 200.
  • AI technology may be applied to the wireless devices 100a to 100f, and the wireless devices 100a to 100f may be connected to the AI server 400 through the network 300.
  • the network 300 may be configured using a 3G network, a 4G (eg, LTE) network, a 5G (eg, NR) network, and a post-5G network.
  • Wireless devices 100a - 100f may communicate with each other via base station 200/network 300, but communicate directly (e.g., sidelink communication) rather than via base station 200/network 300. You may.
  • vehicles 100b-1 and 100b-2 may perform direct communication (e.g., vehicle-to-vehicle (V2V)/vehicle-to-everything (V2X) communication).
  • an IoT device e.g., sensor
  • another IoT device e.g., sensor
  • another wireless device e.g., 100f
  • Wireless communication/connections 150a, 150b, 150c may be established between wireless devices 100a - 100f and/or between wireless devices 100a - 100f and base station 200 and/or between base station 200.
  • wireless communication/connection includes uplink/downlink communication (150a), sidelink communication (150b) (or D2D (Device-To-Device) communication), communication between base stations (150c) (e.g. relay, IAB (Integrated Access and Backhaul) can be established through various RATs (e.g. 5G NR).
  • RATs e.g. 5G NR
  • wireless communication/connection 150a, 150b, and 150c may transmit/receive signals through various physical channels.
  • various configuration information setting processes for transmitting/receiving wireless signals various signal processing processes (e.g. channel encoding/decoding, modulation/demodulation, resource mapping/demapping, etc.), and a resource allocation process, etc. may be performed.
  • first wireless device 100 and the second wireless device 200 can transmit and receive wireless signals through various wireless access technologies (eg, LTE, NR).
  • ⁇ first wireless device 100 and second wireless device 200 ⁇ are ⁇ wireless devices 100a to 100f and base station 200 ⁇ of FIG. 1, ⁇ wireless devices 100a to 100f and wireless. It may correspond to at least one of ⁇ devices 100a to 100f ⁇ and/or ⁇ base station 200 and base station 200 ⁇ .
  • First wireless device 100 may include one or more processors 102 and one or more memories 104.
  • the first wireless device 100 may additionally include one or more transceivers 106 and/or one or more antennas 108.
  • Processor 102 may control memory 104 and/or transceiver 106.
  • Processor 102 may be configured to implement the descriptions, functions, procedures, suggestions, methods and/or operational flow diagrams disclosed herein.
  • the processor 102 may process information in the memory 104 to generate first information/signal and then transmit a wireless signal including the first information/signal through the transceiver 106.
  • the processor 102 may receive a wireless signal including the second information/signal through the transceiver 106 and store the information obtained by processing the second information/signal in the memory 104.
  • the memory 104 may be connected to the processor 102 and may store various information related to the operation of the processor 102. For example, memory 104 may perform some or all of the processes controlled by processor 102 or may send instructions to perform the descriptions, functions, procedures, suggestions, methods and/or operational flow diagrams disclosed herein.
  • the software code it contains can be stored.
  • the processor 102 and memory 104 may be part of a communication modem/circuit/chip designed to implement RAT (eg, LTE, NR).
  • Transceiver 106 may be coupled to processor 102 and may transmit and/or receive wireless signals via one or more antennas 108. Transceiver 106 may include a transmitter and/or receiver.
  • the transceiver 106 can be used interchangeably with an RF (Radio Frequency) unit.
  • the first wireless device 100 may mean a communication modem/circuit/chip.
  • the second wireless device 200 may include one or more processors 202 and one or more memories 204.
  • the second wireless device 200 may additionally include one or more transceivers 206 and/or one or more antennas 208.
  • Processor 202 may control memory 204 and/or transceiver 206.
  • Processor 202 may be configured to implement the descriptions, functions, procedures, suggestions, methods and/or operational flow diagrams disclosed herein.
  • the processor 202 may process the information in the memory 204 to generate third information/signal and then transmit a wireless signal including the third information/signal through the transceiver 206.
  • the processor 202 may receive a wireless signal including the fourth information/signal through the transceiver 206 and store the information obtained by processing the fourth information/signal in the memory 204.
  • the memory 204 may be connected to the processor 202 and may store various information related to the operation of the processor 202. For example, memory 204 may perform some or all of the processes controlled by processor 202 or may send instructions to perform the descriptions, functions, procedures, suggestions, methods and/or operational flow diagrams disclosed herein.
  • the software code it contains can be stored.
  • the processor 202 and memory 204 may be part of a communication modem/circuit/chip designed to implement RAT (eg, LTE, NR).
  • Transceiver 206 may be coupled to processor 202 and may transmit and/or receive wireless signals via one or more antennas 208. Transceiver 206 may include a transmitter and/or receiver. The transceiver 206 can be used interchangeably with the RF unit.
  • the second wireless device 200 may mean a communication modem/circuit/chip.
  • V2X Vehicle-to-Everything
  • V2V Vehicle-to-Vehicle
  • V2I vehicle-to-Vehicle
  • eNB eNode B
  • RSU Raad Side Unit
  • V2P Vehicle to Infrastructure
  • V2P Vehicle-to-Pedestrian
  • V2N vehicle-to-network
  • the vehicle can perform wireless communication with an eNB and/or gNB through an antenna system.
  • the antenna module may be implemented as an external antenna module and/or an internal antenna module, as shown in FIGS. 1A to 1C.
  • FIG. 4 is a block diagram referenced for explaining a vehicle and a communication system mounted on the vehicle according to an embodiment of the present specification.
  • Vehicle 500 may be configured to include a communication device 400 and a processor 570.
  • the communication device 400 may correspond to a telematics control unit of the vehicle 500.
  • the communication device 400 is a device for communicating with an external device.
  • the external device may be another vehicle, mobile terminal, or server.
  • the communication device 400 may include at least one of a transmitting antenna, a receiving antenna, a radio frequency (RF) circuit capable of implementing various communication protocols, and an RF element to perform communication.
  • the communication device 400 may include a short-range communication unit 410, a location information unit 420, a V2X communication unit 430, an optical communication unit 440, a 4G wireless communication module 450, and a 5G wireless communication module 460.
  • Communication device 400 may include a processor 470.
  • the communication device 400 may further include other components in addition to the components described, or may not include some of the components described.
  • the 4G wireless communication module 450 and 5G wireless communication module 460 perform wireless communication with one or more communication systems through one or more antenna modules.
  • the 4G wireless communication module 450 may transmit and/or receive a signal to a device in the first communication system through the first antenna module.
  • the 5G wireless communication module 460 may transmit and/or receive a signal to a device in the second communication system through the second antenna module.
  • the 4G wireless communication module 450 and 5G wireless communication module 460 may be physically implemented as one integrated communication module.
  • the first communication system and the second communication system may be an LTE communication system and a 5G communication system, respectively.
  • the first communication system and the second communication system are not limited to this and can be expanded to any other communication system.
  • the processor of the device in the vehicle 500 may be implemented as a Micro Control Unit (MCU) or a modem.
  • the processor 470 of the communication device 400 corresponds to a modem, and the processor 470 may be implemented as an integrated modem.
  • the processor 470 may obtain surrounding information from other nearby vehicles, objects, or infrastructure through wireless communication.
  • the processor 470 may perform vehicle control using the acquired surrounding information.
  • the processor 570 of the vehicle 500 may be a CAN (Car Area Network) or ADAS (Advanced Driving Assistance System) processor, but is not limited thereto.
  • the processor 570 of the vehicle 500 may be replaced with a processor of each device.
  • the antenna module disposed inside the vehicle 500 may be configured to include a wireless communication unit.
  • the 4G wireless communication module 450 can transmit and receive 4G signals with a 4G base station through a 4G mobile communication network. At this time, the 4G wireless communication module 450 may transmit one or more 4G transmission signals to the 4G base station. Additionally, the 4G wireless communication module 450 may receive one or more 4G reception signals from a 4G base station.
  • uplink (UL: Up-Link) multi-input multi-output (MIMO) can be performed by a plurality of 4G transmission signals transmitted to a 4G base station.
  • downlink (DL) multi-input multi-output (MIMO) can be performed by a plurality of 4G reception signals received from a 4G base station.
  • the 5G wireless communication module 460 can transmit and receive 5G signals with a 5G base station through a 5G mobile communication network.
  • the 4G base station and the 5G base station may have a non-stand-alone (NSA: Non-Stand-Alone) structure.
  • NSA Non-Stand-Alone
  • 4G base stations and 5G base stations can be deployed in a non-stand-alone (NSA: Non Stand-Alone) structure.
  • the 5G base station may be deployed in a stand-alone (SA) structure in a separate location from the 4G base station.
  • SA stand-alone
  • the 5G wireless communication module 460 can transmit and receive 5G signals with a 5G base station through a 5G mobile communication network.
  • the 5G wireless communication module 460 can transmit one or more 5G transmission signals to the 5G base station. Additionally, the 5G wireless communication module 460 can receive one or more 5G reception signals from a 5G base station.
  • the 5G frequency band can use the same band as the 4G frequency band, and this can be referred to as LTE re-farming.
  • the Sub6 band a band below 6GHz, can be used as the 5G frequency band.
  • the millimeter wave (mmWave) band can be used as the 5G frequency band to perform broadband high-speed communication. When the millimeter wave (mmWave) band is used, electronic devices can perform beam forming to expand communication coverage with a base station.
  • the 5G communication system can support a greater number of Multi-Input Multi-Output (MIMO) to improve transmission speed.
  • MIMO Multi-Input Multi-Output
  • uplink (UL) MIMO can be performed by a plurality of 5G transmission signals transmitted to a 5G base station.
  • DL MIMO can be performed by a plurality of 5G reception signals received from a 5G base station.
  • dual connectivity with a 4G base station and a 5G base station through the 4G wireless communication module 450 and the 5G wireless communication module 460.
  • dual connectivity with a 4G base station and a 5G base station may be referred to as EN-DC (EUTRAN NR DC).
  • EN-DC EUTRAN NR DC
  • throughput can be improved through heterogeneous carrier aggregation (inter-CA (Carrier Aggregation)). Therefore, the 4G base station and the 5G base station In the EN-DC state, 4G reception signals and 5G reception signals can be simultaneously received through the 4G wireless communication module 450 and 5G wireless communication module 460.
  • short-distance communication between electronic devices eg, vehicles
  • wireless communication may be performed using the module 460, and after resources are allocated, wireless communication may be performed between vehicles in a V2V manner without going through a base station. You can.
  • carrier aggregation is performed using at least one of the 4G wireless communication module 450 and the 5G wireless communication module 460 and the Wi-Fi communication module 113. This can be done.
  • 4G + WiFi carrier aggregation (CA) can be performed using the 4G wireless communication module 450 and the Wi-Fi communication module 113.
  • 5G + WiFi carrier aggregation (CA) can be performed using the 5G wireless communication module 460 and the Wi-Fi communication module.
  • the communication device 400 may implement a vehicle display device together with a user interface device.
  • the vehicle display device may be called a telematics device or an AVN (Audio Video Navigation) device.
  • the communication system may be, but is not limited to, a communication system for performing communication in a vehicle.
  • a system deadlock when a system deadlock occurs, it can be implemented by checking the system deadlock through a watchdog and initializing the operation by rebooting the entire system.
  • rebooting and initializing through a full system reset can generally result in significant loss of functionality in terms of system operation. For example, if a system deadlock occurs due to a problem in a small function block that is largely unrelated to the main system operation, the entire system is initialized, greatly increasing the area in which functionality is lost.
  • the recovery device and method for resolving system deadlock according to the present specification need to be implemented to achieve the following technical effects. Since the entire system is initialized through the embodiment according to the present specification, there is a need to solve the problem of losing continuity with previous operations and having to perform the entire scenario operation again. When the system is initialized due to a deadlock through an embodiment according to the present specification, it is necessary to preserve continuity with the previous operation as much as possible. Through the embodiment according to the present specification, it is possible to solve the issue of difficulty in maintaining continuity of operation due to the limited amount of information preserved due to resource problems with storage space as intermediate states during overall operation are stored at specific cycles. Through embodiments according to the present specification, there is a need to resolve the issue that the intermediate state storage process increases the overhead of central processing.
  • FIG. 5 shows the configuration of a recovery device for resolving deadlock in a communication system according to the specification.
  • FIG. 6 shows an interface structure diagram for exchanging signals or commands between each component when a deadlock occurs in the recovery device of FIG. 5.
  • the restoration device of FIGS. 5 and 6 is a first device 100 including the processor 102 and memory 104 of FIG. 2 or a second device 200 including the processor 202 and memory 204. You can.
  • the first device 100 or the second device 200 transmits or receives signals and commands to other devices through transceivers 106, 206 operably coupled to the processors 102, 202 to communicate with the other devices. It can be linked.
  • each of the components in FIGS. 5 and 6 may correspond to a hardware block or chip mounted on the main board, but is not limited thereto, and some of the components may be part of a software block or other chip. It may be composition.
  • the recovery device 1000 for resolving system deadlock in a vehicle includes a recovery block 1100, a deadlock manager block 1200, and a central processing unit ( It may be configured to include a CPU (1300).
  • a recovery block 1100 may be provided at each interface connected to a system bus and other functional blocks other than the central processing unit (CPU) 1300.
  • the recovery block 1100 monitors commands and responses in communication between other functional blocks and the system bus, and transmits information on the occurrence of a deadlock to the deadlock manager block 1200 when a deadlock occurs.
  • the deadlock manager block 1200 transmits a deadlock resolution command, the deadlock between the corresponding functional blocks and the system bus can be resolved.
  • the deadlock manager block 1200 collects deadlock information transmitted from all recovery blocks 1100.
  • the deadlock manager block 1200 may be configured to manage deadlock order information generated and transmitted in the restoration block 1100.
  • the deadlock manager block 1200 transmits the information to the central processing unit (CPU) 1300 through an interrupt.
  • the deadlock manager block 1200 has an internal timer and waits so that the CPU 1300 can process an interrupt within a specific time.
  • the CPU (1300) determines that it is deadlocked, and the deadlock manager block (1200) can perform deadlock resolution based on the stored deadlock information.
  • the deadlock manager block 1200 transmits a deadlock resolution command to the restoration block 1100 according to a policy determined based on the stored deadlock information. If a deadlock attempt fails according to a set policy, a reboot can be performed through a full system reset.
  • the central processing unit (CPU) 1300 When an interrupt occurs in the deadlock manager block 1200, the central processing unit (CPU) 1300 performs a predetermined system recovery service routine.
  • the system recovery program may be stored in a separate internal space of the SRAM (1600).
  • the system recovery program stored in the internal space of the SRAM 1600 can be managed so that the program is maintained even if a reset is applied for system recovery.
  • SRAM 1600 may also be operably coupled to a system bus (BUS) through recovery block 1130.
  • BUS system bus
  • the restoration block 1100 may be configured to generate and transmit a deadlock signal when a deadlock occurs in the system.
  • the restoration block 1100 may transmit a deadlock occurrence signal to the deadlock manager block 1200.
  • the restoration block 1100 may transmit a deadlock occurrence signal to the operation block 1400, which is a master block or slave block connected to the restoration block 1100.
  • the operation block 1400 may be a hardware block or chip that performs a specific operation of the vehicle and controls it.
  • the operation block 1400 may be configured to include master blocks 1410a and 1410b and slave blocks 1420a and 1420b.
  • Master blocks 1410a and 1410b may be operably coupled with respective restoration blocks 1110a and 1110b.
  • Slave blocks 1420a and 1420b may be operably coupled to respective restoration blocks 1120a and 1120b.
  • Each of the master blocks 1410a and 1410b and the slave blocks 1420a and 1420b may be composed of a chip equipped with an IP (Intellectual Property) block that performs a specific operation or function and a processor.
  • IP Intelligent Property
  • a central processing unit (CPU) 1300 may be operably coupled to a system bus (BUS).
  • the CPU 1300 may be configured to receive an interrupt from the deadlock manager block 1200 and clear the interrupt in an operating state.
  • the deadlock manager block 1200 may determine that the CPU 1300 is deadlocked when the internal timer expires.
  • the deadlock manager block 1200 may transmit a deadlock resolution command to the recovery block 1100 and control the internal timer to operate again.
  • the recovery block 1100 can control the deadlock in the interface associated with the deadlock resolution command in conjunction with the deadlock manager block 1200 to resolve the deadlock.
  • the corresponding functional block associated with the deadlock resolution command can be controlled to be isolated from the system bus (BUS).
  • the restoration block 1100 can control signals and commands transmitted in a specific operation block associated with a deadlock resolution command from being transmitted to the system bus (BUS).
  • the recovery block 1100 may control signals and commands transmitted from a specific operation block in a deadlock state from being transmitted to the system bus (BUS) until the deadlock state is completely resolved.
  • the restoration block 1100 may work with the deadlock manager block 1200 to transmit response signals to signals and commands transmitted from a specific operation block to a specific operation block.
  • the restoration block 1100 can configure a port in conjunction with the deadlock manager block 1200 so that received signals and commands are not transmitted to other blocks through the system bus (BUS).
  • a deadlock can be detected in either a plurality of master blocks or slave blocks. If a deadlock occurs in the first master block 1410a, the corresponding functional block associated with the deadlock resolution command may be the first master block 1410a among a plurality of master blocks. Alternatively, the corresponding functional block associated with the deadlock resolution command may be the first recovery block 1110a operably connected to the master block 1400a.
  • the CPU 1300 may perform a system recovery service routine. Accordingly, when it is determined that the system deadlock is resolved and the CPU 1300 is operable, the interrupt of the deadlock manager block 1200 can be cleared. In this regard, when the CPU 1300 determines that one of the plurality of deadlocks has been resolved, it may clear only the interrupt of the deadlock manager block 1200 corresponding to the resolved deadlock.
  • the CPU 1300 may still remain in a deadlock state.
  • the interrupt of the deadlock manager block 1200 is not cleared and the internal timer of the deadlock manager block 1200 may expire again. If the interrupt of the deadlock manager block 1200 is not cleared and the internal timer expires again, the deadlock manager block 1200 may determine that the CPU 1300 is still in a deadlock state.
  • the deadlock manager block 1200 may transmit a second deadlock resolution command to the second restoration block 1110b to which the second deadlock signal was transmitted and control the internal timer to operate again.
  • the second restoration block 1110b may be operably combined with the second master block 1410b among the plurality of master blocks.
  • the deadlock manager block 1200 may repeat transmitting a plurality of deadlock resolution commands to the plurality of restoration blocks 1100.
  • the deadlock manager block 1200 may determine that the system restoration attempt has failed when a plurality of deadlock resolution commands are transmitted to all the restoration blocks 1110a, 1110b, 1120a, and 1120b where a deadlock has occurred.
  • the deadlock manager block 1200 allows the CPU 1300 to perform a system recovery service routine even after deadlock resolution commands are sent to all master blocks and all slave blocks in which a deadlock has occurred. You can determine whether the item has not expired. The deadlock manager block 1200 may determine that the system restoration attempt has failed if the CPU 1300 does not expire performing the system restoration service routine even after deadlock resolution commands are transmitted.
  • the deadlock manager block 1200 determines that the system restoration attempt has failed, it may transmit a system reset command to the system reset block 1500. Accordingly, the deadlock manager block 1200 can perform a reset on all blocks of the entire system by rebooting all blocks in the entire system in conjunction with the system reset block 1500.
  • FIGS. 6 to 7B show an operation flowchart of a restoration method performed in a restoration apparatus for resolving a system deadlock according to the present specification.
  • the restoration method performed by the restoration device to resolve the system deadlock includes a deadlock occurrence information transmission process (S110), an interrupt transmission process (S120), an interrupt processing completion waiting process (S130), and an interrupt clearing process ( S140) may be included.
  • the restoration method may further include a CPU operation state determination process (S135), an internal timer expiration determination process (S150), and an internal timer driving process (S160).
  • the restoration method may further include a deadlock resolution control process (S170), an interrupt clear process (S180), a CPU deadlock determination process (S190), and a deadlock resolution command transmission process (S200).
  • the restoration method may further include a restoration attempt failure determination process (S210) and an entire system reset process (S220).
  • occurrence information may be transmitted to the deadlock manager block 1200 (S110).
  • the deadlock manager block 1200 receives a deadlock signal from the recovery convex 1110a, it can transmit an interrupt to the CPU 1300 (S120).
  • the deadlock manager block 1200 may drive an internal timer to wait for the CPU 1300 to complete processing within a specific time (S130). If the CPU 1300 maintains the operating state in the CPU operating state determination process (S135), a system restoration service routine may be performed and the interrupt of the deadlock manager block 1200 may be cleared (S140).
  • the interrupt of the deadlock manager block 1200 may not be cleared and the internal timer of the deadlock manager block 1200 may expire (S150).
  • the deadlock manager block 1200 determines that the CPU is deadlocked when the internal timer expires, sends a deadlock resolution command to the restoration convex 1110a to which the first deadlock signal was sent, and drives the internal timer again (S160). You can.
  • the recovery convex 1110a can control the deadlock of the corresponding interface and isolate the corresponding functional block from the system bus (BUS) (S170). If the CPU 1300 can operate by resolving the deadlock in the recovery convex 1110a, it can perform a system recovery service routine and clear the interrupt of the deadlock manager block 1200 (S180).
  • BUS system bus
  • the interrupt in the deadlock manager block 1200 is still not cleared and the internal timer in the deadlock manager block 1200 expires again (S190). It can be.
  • the deadlock manager block 1200 determines that the CPU 1300 is still in a deadlock state when the internal timer expires. Accordingly, a deadlock resolution command can be transmitted to the restoration block 1120a to which the next deadlock signal has been transmitted, and the internal timer can be driven again (S200).
  • Processes S170 to S200 may be repeated until the CPU 1300 performs the system restoration service routine. Accordingly, when a deadlock resolution command is sent to all restoration blocks in which a deadlock signal has been generated, it may be determined that the system restoration attempt has failed (S210). If it is determined that the system restoration attempt has failed, a reboot can be performed (S220) by resetting the entire system through the system reset block 1500.
  • FIG. 8 shows the detailed structure of the master side recovery block and the detailed block of the deadlock manager.
  • FIG. 9 shows the detailed structure of the slave-side restoration block linked with the master-side restoration block through the deadlock manager of FIG. 8.
  • master-side restoration blocks may be interconnected through a deadlock manager block.
  • slave-side restores can be linked through a deadlock manager block.
  • one of the master side restoration blocks may be linked to the CPU through a manager block.
  • one of the slave-side restoration blocks may be linked to the CPU through a manager block.
  • the restoration block may be a master restoration block operably connected to a specific master block among a plurality of master blocks.
  • Master recovery block 1110 may be operably coupled with a specific master block 1410 via a command channel and a response channel.
  • a command channel may be configured to receive commands from a specific master block 1410.
  • a response channel may be configured to transmit a response to a specific master block 1410.
  • the master recovery block 1110 may include a first buffer 1111a interfaced with a command channel and a second buffer 1111b interfaced with a response channel.
  • the master recovery block 1110 may be configured to include a virtual command generation module 1112, a virtual response reception module 1113, and a deadlock clear control module 1114.
  • the virtual command generation module 1112 may be configured to be operably coupled with the first buffer 1111a to generate a deadlock occurrence signal.
  • the virtual response receiving module 1113 may be configured to be operably coupled to the second buffer 1111b to receive a command received from a system bus (BUS).
  • the deadlock clear control module 1114 may be operably coupled to the first buffer 1111a and the second buffer 1111b.
  • the deadlock clear control module 1114 may be configured to receive first control commands associated with a deadlock resolution command from the deadlock manager block 1200 .
  • the master recovery block 1110 may be configured to further include a command monitor module 1115, a response monitor module 1116, and a deadlock detection module 1117.
  • the command monitor module 1115 may be operably coupled with the first buffer 1111a and the system bus (BUS).
  • the command monitor module 1115 may be configured to monitor control commands transmitted through a command channel.
  • the response monitor module 1116 may be operably coupled with the second buffer 1111b and the system bus (BUS).
  • Response monitor module 1116 may be configured to monitor responses delivered through a response channel.
  • Deadlock detection module 1117 may be operably coupled with command monitor module 1115 and response monitor module 1116.
  • the deadlock detection module 1117 may be configured to detect a deadlock state in the system and transmit a deadlock occurrence signal to the deadlock manager module 1200.
  • the deadlock detection module 1117 may transmit a deadlock occurrence signal to the deadlock information module 1210 of the deadlock manager module 1200.
  • the restoration block may be a slave restoration block operably connected to a specific slave block among a plurality of master blocks.
  • Slave recovery block 1120 may be operably coupled to a system bus (BUS) through a command channel and a response channel.
  • the command channel may be configured to receive commands from a system bus (BUS).
  • the response channel may be configured to transmit a response to a system bus (BUS).
  • the slave recovery block 1120 may include a third buffer 1121a interfaced with a command channel and a fourth buffer 1121b interfaced with a response channel.
  • the third buffer 1121a and the fourth buffer 1121b may be operably coupled to a specific slave block 1420.
  • the slave recovery block 1120 may be configured to include a virtual command reception module 1122, a virtual response generation module 1123, and a deadlock clear control module 1124.
  • the virtual command receiving module 1122 may be operably coupled to the third buffer 1121a and configured to receive a control command associated with a deadlock occurrence signal.
  • the virtual response generation module 1123 may be operably coupled with the fourth buffer 1121b and configured to generate a response associated with the deadlock occurrence signal.
  • the deadlock clear control module 1124 may be operably coupled to the third buffer 1121a and the fourth buffer 1121b.
  • the deadlock clear control module 1124 may be configured to receive second control commands associated with a deadlock resolution command from the deadlock manager block 1200.
  • the slave recovery block 1120 may be configured to further include a command monitor module 1125, a response monitor module 1126, and a deadlock detection module 1127.
  • the command monitor module 1125 may be operably coupled with the third buffer 1121a and the system bus (BUS).
  • the command monitor module 1125 may be configured to monitor control commands transmitted through a command channel.
  • the response monitor module 1126 may be operably coupled with the fourth buffer 1121b and the system bus (BUS).
  • Response monitor module 1126 may be configured to monitor responses delivered through a response channel.
  • Deadlock detection module 1127 may be operably coupled with command monitor module 1125 and response monitor module 1126.
  • the deadlock detection module 1127 may be configured to detect a deadlock state in the system and transmit a deadlock occurrence signal to the deadlock manager module 1200.
  • the deadlock detection module 1117 may transmit a deadlock occurrence signal to the deadlock information module 1210 of the deadlock manager module 1200.
  • the deadlock manager module 1200 may be configured to include a deadlock information module 1210 and a deadlock clear control module 1220.
  • the deadlock information module 1210 may be configured to receive a deadlock occurrence signal from the deadlock detection module 1117 of the master recovery block 1110.
  • the deadlock information module 1210 may be configured to receive a deadlock occurrence signal from the deadlock detection module 1127 of the slave recovery block 1120.
  • the deadlock clear control module 1220 may be configured to transmit control commands associated with a deadlock resolution command to the deadlock clear control module 1114 of the master recovery block 1110.
  • the deadlock clear control module 1220 may be configured to transmit second control commands associated with deadlock clear to the deadlock clear control module 1124 of the slave recovery block 1120.
  • FIG. 10 shows a flowchart of a restoration method for resolving system deadlock according to the present specification.
  • the restoration method includes a deadlock monitoring process (S1010), a deadlock determination process (S1020), a deadlock occurrence signal transmission process (S1030), an interrupt delivery process (S1050), and a deadlock resolution command transmission process (S1110). and a deadlock resolution process (S1120).
  • the restoration method may further include system initialization (S910) and CPU operation process (S910) before the deadlock monitoring process (S1010).
  • system initialization S910
  • System initialization S910 may be performed by all components of the system, and all components linked to the system reset block 1500 and other components linked thereto may be initialized.
  • the CPU operation process S910 after system initialization (S910) is performed, the CPU (1300) may operate in conjunction with other components after booting is completed.
  • the recovery block 1100 may monitor the occurrence of a deadlock in the system.
  • the deadlock manager block 1200 can receive a deadlock occurrence signal from the restoration block 1100 and determine whether a deadlock in the system has occurred. In this regard, it is possible to monitor and determine whether a deadlock occurs in the restoration block 1100 for all paths that can cause a CPU deadlock.
  • the restoration block 1100 may generate a deadlock signal and transmit it to the deadlock manager block 1200.
  • the deadlock manager block 1200 Upon receiving a deadlock occurrence signal from the restoration block 1100 through the interrupt transmission process (S1050), the deadlock manager block 1200 can transmit the interrupt to the central processing unit (CPU) 1300. Restoration block 1100 When deadlock detection information is transmitted, the deadlock manager block 1200 transmits an interrupt to the CPU 1300 to notify the deadlock situation.
  • the deadlock manager block 1200 determines that the CPU 1300 is deadlocked when the internal timer expires, and transmits a deadlock resolution command to the recovery block 1100. .
  • the process may proceed depending on whether the deadlock clear command is delivered to all deadlock occurrence locations collected in the deadlock manager block 1200. This is to check whether the deadlock cannot be resolved even though deadlock clearing is attempted at all deadlock occurrence locations.
  • the recovery block 1100 can control the deadlock of the corresponding interface associated with the deadlock resolution command to be resolved. Additionally, the corresponding functional block associated with the deadlock resolution command can be controlled to be isolated from the system bus.
  • the clear command may be transmitted in the order in which the deadlock occurs first among the deadlock occurrence locations collected in the deadlock manager block 1200. The reason why clear commands are delivered in the order in which they occurred first is because, in relation to the occurrence of a deadlock, once the first trigger is resolved, there is a high possibility that the remaining triggers will be resolved naturally as well.
  • the restoration method may further perform a deadlock occurrence information collection process (S1040).
  • a deadlock occurrence information collection process S1040
  • information regarding the location and order of occurrence of the deadlock may be collected.
  • the restoration method may further include an internal timer counting process (S1060), an internal timer expiration determination process (S1070), and a deadlock resolution command transmission completion determination process (S1080).
  • the deadlock manager block 1200 may control the operation of the internal timer and count the timer validity time until the timer expires.
  • the deadlock manager block 1200 may operate an internal timer to determine whether the deadlock situation has been resolved.
  • the internal timer of the deadlock manager block 1200 is counted and compared with the timer expiration time to determine whether the internal timer has expired. Through the internal timer expiration determination process (S1070), the internal timer can be determined. By expiration, it can be determined whether the deadlock has been resolved. In the deadlock resolution command transmission completion determination process (S1080), it can be determined whether deadlock resolution commands have been transmitted to all occurrence locations according to the order of occurrence.
  • the restoration method may further include a deadlock resolution determination process (S1310) and an interrupt clear process (S1320).
  • the deadlock resolution determination process (S1310) may be performed before the internal timer expires in the internal timer expiration determination process (S1070).
  • the deadlock resolution determination process (S1310) it can be determined whether the deadlock in the recovery block is resolved and the CPU can operate. In this regard, it can be determined whether the CPU deadlock has been resolved. Specifically, depending on whether the deadlock situation is resolved before the internal timer expires, either the internal timer may be recounted or the CPU may clear the interrupt. Whether or not the deadlock situation is resolved can be confirmed through a signal transmitted from the restoration block 1100 or information transmitted by the CPU after the deadlock is resolved.
  • the CPU 1300 may perform a system restoration service routine in the interrupt clear process (S1320). Accordingly, the CPU 1300 can clear the interrupt of the deadlock manager block 1200.
  • the functional block in which the deadlock occurs may be the first restoration block 1110a operably connected to the first master block 1410a among the plurality of master blocks.
  • the deadlock manager block 1200 performs subsequent operations depending on whether the deadlock in the first recovery block 1110a has been resolved but the interrupt of the deadlock manager block 1200 has not been cleared. can do. If the interrupt of the deadlock manager block 1200 is not cleared and the internal timer of the deadlock manager block 1200 expires again, the CPU 1300 may be determined to be still in a deadlock state. Accordingly, a second deadlock resolution command can be transmitted to the second restoration block 1110b to which the second deadlock signal has been transmitted, and the internal timer can be controlled to operate again.
  • the second restoration block 1110b may be operably combined with the second master block 1410b among the plurality of master blocks.
  • the second deadlock signal may be generated by detecting a second deadlock occurring in another slave block, for example, the first slave block 1420a. Accordingly, the first slave block 1420a and the second recovery block 1120a can be operably coupled.
  • the deadlock manager block 1200 transmits a plurality of deadlock resolution commands to a plurality of restoration blocks until the CPU 1300 completes performing the system restoration service routine. You can repeat what you do.
  • the deadlock manager block 1200 may determine that the system restoration attempt has failed when multiple deadlock resolution commands are transmitted to all multiple restoration blocks in which a deadlock has occurred. .
  • a deadlock information collection process (S1040) may be performed to collect information on the location and order of occurrence of the deadlock.
  • an internal timer expiration determination process (S1070) may be performed to determine whether the internal timer has expired by counting the internal timer of the deadlock manager block 1200.
  • a deadlock resolution command transmission completion determination process (S1080) may be further performed to determine whether deadlock resolution commands have been transmitted to all occurrence locations according to the order of occurrence.
  • the internal timer expiration determination process (S1070) may be repeatedly performed until the CPU 1300 is operable in the deadlock resolution determination process (S1310). If it is determined in the internal timer expiration determination process (S1070) that the internal timer has expired while the deadlock in the CPU has not been resolved, the deadlock resolution command transmission completion determination process (S1080) may be performed. In the process of determining whether the deadlock resolution command has been transmitted (S1080), it can be determined whether deadlock resolution commands have been transmitted to all locations where a deadlock occurred.
  • the restoration method may further perform a system reset command transmission process (S1210) and a system reset performance process (S1220). If it is determined that deadlock resolution commands have been sent to all deadlock locations, a system reset command may be transmitted to the system reset block 1500 in the system reset command transmission process (S1210). By transmitting a system reset command to the system reset block 1500, a reset of all blocks of the entire system can be performed by rebooting all blocks of the entire system in the system reset process (S1220).
  • Figure 11 shows the configuration of a vehicle interoperating with the restoration device according to the present specification.
  • communication can be performed with surrounding electronic devices, vehicles, and infrastructure structures through an antenna module and a transceiver.
  • the processor 570 of the vehicle 500 may be configured as a restoration device 100 that resolves a deadlock in the internal system of the vehicle according to the present specification.
  • the processor 570 may be a processor of a Car Area Network (CAN) or an Advanced Driving Assistance System (ADAS), but is not limited thereto.
  • CAN Car Area Network
  • ADAS Advanced Driving Assistance System
  • the processor 570 of the vehicle 500 may be replaced with a processor of each device.
  • an antenna module 1000a is mounted on the vehicle, and the antenna module 1000a can perform short-range communication, wireless communication, and V2X communication on its own or through the communication device 400 of FIG. 4. .
  • the communication device 400 of FIG. 4 may be implemented with the transceiver circuit 1250 and the baseband processor 1400 of FIG. 11 or may be implemented with a separate communication module or hardware chip.
  • the baseband processor 1400 may receive signals from or transmit signals to adjacent vehicles, RSUs, and base stations through the antenna module 1000a.
  • the baseband processor 1400 may control the communication device 400 to receive signals from or transmit signals to adjacent vehicles, RSUs, adjacent objects, and base stations.
  • information about adjacent objects can be obtained through the object detection device 520, such as the camera 531, radar 532, lidar 533, and sensors 534 and 535 of the vehicle 500.
  • the baseband processor 1400 may receive signals from or transmit signals to adjacent vehicles, RSUs, adjacent objects, and base stations through the communication device 400 and the antenna module 1000a.
  • the recovery device 1000 which restores a system deadlock, may be interconnected with the object detection device 520 through a system bus (BUS).
  • the restoration device 1000 connects at least the navigation system 550, the sensing unit 561, the interface unit 562, the memory 563, the power supply unit 564, or the vehicle control device 565 through a system bus (BUS). It can be linked to one.
  • a vehicle 500 equipped with an antenna module 1000a can be configured to include a plurality of antennas 1100, a transceiver circuit 1250, and a baseband processor 1400. Meanwhile, the vehicle 500 may further include an object detection device 520. Additionally, the vehicle 500 may further include a communication device 400. Here, the communication device 400 may be configured to perform wireless communication through an antenna module.
  • the vehicle 500 may be equipped with an antenna module 1000a.
  • the antenna module 1000a may be configured to communicate with at least one of an adjacent vehicle, a Road Side Unit (RSU), and a base station through a processor.
  • the antenna module 1000a may be referred to as a telematics module because it performs telematics operations through wireless communication in the vehicle.
  • the transceiver circuit 1250 may be operably coupled to the antenna module 1000a to perform wireless communication with other wireless devices of FIG. 2 .
  • the processor 1400 may be operably coupled to the transceiver circuit 1250.
  • the processor 1400 may be a baseband processor corresponding to a modem, but is not limited thereto and may be any processor that controls the transceiver circuit 1250.
  • the vehicle's processor 1400 may be implemented as a Network Access Device (NAD) and may be referred to as a wireless communication control element.
  • NAD Network Access Device
  • the processor 1400 may be operably coupled to the transceiver circuit 1250 and configured to control the transceiver circuit 1250 .
  • the processor 1400 controls the transceiver circuit 1250 to control the size and/or phase of signals transmitted to the first to fourth antennas (ANT1 to ANT4) in the antenna module 1000a or to operate only some antennas. You can control it.
  • the processor 1400 may be configured to communicate with at least one of an adjacent vehicle, a road side unit (RSU), and a base station through the transceiver circuit 1250.
  • RSU road side unit
  • MIMO multiple input/output
  • the vehicle could simultaneously receive the same information from various entities at the same time, improving reliability of surrounding information and reducing latency.
  • URLLC Ultra Reliable Low Latency Communication
  • the vehicle can operate as a URLLC UE.
  • the base station performing scheduling may preferentially allocate time slots for vehicles operating as URLLC UEs.
  • some of the specific time-frequency resources already allocated to other UEs can be punctured.
  • a plurality of antennas (ANT1 to ANT4) for 4G/5G communication in the antenna module 1000a can operate in all bands of low band (LB), middle band (MB), and high band (HB).
  • the low band (LB) may be referred to as the first (frequency) band
  • the middle band (MB) and high band (HB) may be referred to as the second (frequency) band.
  • the middle band (MB) is referred to as the first (frequency) band
  • the high band (HB) is referred to as the second (frequency) band. It can be referred to as a band.
  • the 5G Sub6 band may be the same band as the LTE band in case of LTE re-farming.
  • 5G NR operates in a separate band from LTE, it can operate in high band (HB) or a higher band.
  • the 5G Sub6 band which operates in high band (HB) or a higher band, may also be referred to as the second (frequency) band.
  • the baseband processor 1400 may perform multiple input/output (MIMO) through two or more of the plurality of antennas (ANT1 to ANT4) in the first frequency band. Additionally, the baseband processor 1400 may perform multiple input/output (MIMO) through two or more of the plurality of antennas (ANT1 to ANT4) in the second frequency band.
  • MIMO multiple input/output
  • multiple input/output (MIMO) can be performed using antenna elements spaced apart from each other at a sufficient distance and rotated at a predetermined angle. Accordingly, isolation between the first signal and the second signal within the same band can be improved.
  • the baseband processor 1400 operates a transceiver circuit 1250 to receive a first signal in the first band and a second signal in the second band through any one of the first antenna (ANT1) to the fourth antenna (ANT4). ) can be controlled. In this case, there is an advantage that carrier aggregation (CA) can be performed through one antenna.
  • CA carrier aggregation
  • the baseband processor 1400 may receive the first signal of the second band through any one of the first antenna (ANT1) and the third antenna (ANT3) while receiving the second antenna (ANT2) and the fourth antenna (ANT4).
  • the transceiver circuit 1250 can be controlled to receive the first signal of the second band through any one of the following. In this case, there is an advantage that each antenna can be designed and implemented to operate optimally in the corresponding band.
  • the baseband processor 1400 may perform carrier aggregation (CA) through a band that combines the first and second frequency bands. Accordingly, the present invention has the advantage of enabling broadband reception through carrier aggregation when it is necessary to receive large amounts of data for autonomous driving, etc.
  • CA carrier aggregation
  • the vehicle is capable of eMBB (Enhanced Mobile Broad Band) communication and the vehicle can operate as an eMBB UE.
  • the base station performing scheduling can allocate broadband frequency resources for vehicles operating as eMBB UEs.
  • carrier aggregation (CA) can be performed on spare frequency bands, excluding frequency resources already allocated to other vehicles.
  • the bands corresponding to the low band (LB), mid band (MB), and high band (HB) are divided into the first band, the second band, and the third band, respectively. It can be referred to.
  • the antenna system 1000 uses a single antenna in the first, second, and third bands corresponding to the low band (LB), mid band (MB), and high band (HB). It can work.
  • the processor 1400 may determine the allocated resource area through a physical downlink control channel (PDCCH).
  • the processor 1400 may control the transceiver circuit 1250 to perform carrier aggregation in two or more bands among the first to third bands, based on the allocated resource region.
  • PDCCH physical downlink control channel
  • the processor 1400 may perform multiple input/output (MIMO) in the EN-DC state through the first to fourth antennas ANT1 to ANT4.
  • MIMO multiple input/output
  • EN-DC operation can be performed through the first antenna (ANT1) and the second antenna (ANT2)
  • MIMO multiple input/output
  • ANT3 third antenna
  • ANT4 fourth antenna
  • the EN-DC operation can be performed through a plurality of antennas within one antenna system. Accordingly, the level of interference between MIMO streams using the same band can be reduced.
  • EN-DC operation can be performed using the same band between 4G/5G communication systems.
  • EN-DC operation can be performed through multiple antennas in different antenna systems. In this case, in order to reduce the level of interference in the low band (LB), MIMO operation through multiple antennas within the same antenna system can be performed in the mid band (MB) or higher.
  • LB low band
  • MIMO operation through multiple antennas within the same antenna system can be performed in the mid band (MB) or higher.
  • the central processing unit can be protected from falling into a deadlock state on its own so that the central processing unit can attempt system recovery without performing a system-wide reset.
  • a recovery device for resolving a system deadlock in a vehicle and its control operation may be implemented using software, firmware, or a combination thereof.
  • a restoration device for resolving a system deadlock in a vehicle and a component that performs control operations therefor can be implemented as computer-readable code on a program-recorded medium.
  • Computer-readable media includes all types of recording devices that store data that can be read by a computer system. Examples of computer-readable media include HDD (Hard Disk Drive), SSD (Solid State Disk), SDD (Silicon Disk Drive), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. It also includes those implemented in the form of carrier waves (e.g., transmission via the Internet). Additionally, the computer may include a terminal or vehicle control unit, that is, a processor. Accordingly, the above detailed description should not be construed as restrictive in all respects and should be considered illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

실시 예에 따른 시스템 교착 상태를 해소하기 위한 복원 장치는 시스템의 교착 상태 발생시 교착 상태 발생 신호를 생성하여 전송하는 복원 블록(recovery block); 상기 복원 블록으로부터 상기 교착 상태 발생 신호를 수신하면 인터럽트를 전송하고, 내부 타이머를 동작하여 특정 동작의 처리를 만료하도록 대기하는 데드락 매니저 블록(deadlock manager block); 및 시스템 버스와 동작 가능하게 결합되고, 상기 데드락 매니저 블록으로부터 상기 인터럽트를 수신하여 동작 상태에서 상기 인터럽트를 클리어하도록 구성된 중앙처리 장치(CPU)를 포함할 수 있다. 상기 데드락 매니저 블록은 상기 내부 타이머가 만료 시 상기 CPU가 교착 상태인 것으로 판단하고, 상기 복원 블록에 교착 상태 해소 명령을 전송할 수 있다.

Description

시스템 교착 상태를 해소하는 복원 장치 및 방법
본 명세서는 시스템 교착 상태를 해소하는 복원 장치 및 방법에 관한 것이다. 특정 구현은 차량의 시스템에서 시스템 교착 상태를 해소하는 복원 장치 및 방법에 관한 것이다.
차량(vehicle)은 다른 차량 또는 주변 사물, 인프라 또는 기지국과 무선 통신 서비스를 수행할 수 있다. 이와 관련하여, LTE(Long Term Evolution) 통신, 5G 통신 또는 WiFi 통신 기술을 이용하여 다양한 무선 통신 서비스를 제공할 수 있다.
이와 관련하여, 최근 시스템 온 칩(System on Chip, SoC)의 활용 분야가 넓어지고 있다. 한편, 시스템 온 칩은 다양한 기능을 하는 여러 기능 블록들 (IP, Intellectual Property) 및 프로세서가 탑재되어 구성된 복잡한 시스템을 하나의 칩으로 구현된 것을 의미한다.
시스템 온 칩에 탑재된 여러 기능 블록들 및 프로세서들은 상호 간 필요한 데이터를 송신 및 수신하며 동작이 이루어진다. 이러한 기능 블록들 중 적어도 하나의 블록에 문제가 발생될 경우 전체 시스템이 멈추게 되는 교착 상태(deadlock state)가 발생될 수 있다.
하나의 기능 블록의 문제로 시스템 전체가 동작 불능 상태가 되는 것은 전체 시스템 관점에서 큰 손실을 유발할 수 있다. 이러한 기능 블록의 문제로 인한 전체 시스템이 멈추게 되는 교착 상태를 방지하는 기술이 필요성이 증가하고 있다.
한편, 전체 시스템이 동작 불능 상태가 되는 주요 이유는 시스템을 구동하는 중앙 처리 장치(CPU)의 동작이 멈추기 때문이다. 이와 관련하여, 시스템 교착 상태로 인해 CPU가 요청한 명령들에 대한 응답 신호가 전송되지 않게 때문이다.
본 명세서는 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다. 이에 따른 본 명세서의 일 목적은 시스템 교착 상태를 해소하는 복원 장치 및 방법을 제공하기 위한 것이다.
본 명세서의 다른 일 목적은, 중앙 처리 장치(CPU)의 동작이 멈춤에 따른 시스템 교착 상태로 인해 CPU가 요청한 명령들에 대한 응답 신호가 전송되지 않는 이슈를 해소하는 복원 장치 및 방법을 제공하기 위한 것이다.
본 명세서의 다른 일 목적은, 교착 상태에 빠지더라도 시스템에서 자체적으로 중앙 처리 장치의 동작 불능 상태를 해소하기 위한 것이다.
본 명세서의 다른 일 목적은 CPU 가 시스템 복구(system recovery)를 시도할 수 있도록 하는 복원 방법 및 장치를 제공하기 위한 것이다.
상기 또는 다른 목적을 달성하기 위해 실시 예에 따른 차량에서 시스템 교착 상태를 해소하기 위한 복원 장치는 시스템의 교착 상태 발생시 교착 상태 발생 신호를 생성하여 전송하는 복원 블록(recovery block); 상기 복원 블록으로부터 상기 교착 상태 발생 신호를 수신하면 인터럽트를 전송하고, 내부 타이머를 동작하여 특정 동작의 처리를 만료하도록 대기하는 데드락 매니저 블록(deadlock manager block); 및 시스템 버스와 동작 가능하게 결합되고, 상기 데드락 매니저 블록으로부터 상기 인터럽트를 수신하여 동작 상태에서 상기 인터럽트를 클리어하도록 구성된 중앙처리 장치(CPU)를 포함할 수 있다. 상기 데드락 매니저 블록은 상기 내부 타이머가 만료 시 상기 CPU가 교착 상태인 것으로 판단하고, 상기 복원 블록에 교착 상태 해소 명령을 전송할 수 있다.
실시 예로, 상기 교착 상태 해소 명령을 수신하면 상기 복원 블록은 상기 교착 상태 해소 명령과 연관된 해당 인터페이스의 교착 상태를 해소하고, 상기 교착 상태 해소 명령과 연관된 해당 기능 블록이 상기 시스템 버스와 분리(isolation)되도록 제어할 수 있다.
실시 예로, 상기 해당 기능 블록은 복수의 마스터 블록들 중 제1 마스터 블록과 동작 가능하게 연결된 제1 복원 블록일 수 있다. 상기 제1 복원 블록의 교착 상태가 해소되고 상기 CPU가 동작 가능한 것으로 판단되면, 상기 CPU는 시스템 복원 서비스 루틴을 수행하고 상기 데드락 매니저 블록의 인터럽트를 클리어할 수 있다.
실시 예로, 상기 데드락 매니저 블록은 상기 제1 복원 블록의 교착 상태가 해소되었지만 상기 데드락 매니저 블록의 인터럽트가 클리어 되지 않고 상기 데드락 매니저 블록의 내부 타이머가 다시 만료되면 상기 CPU가 여전히 교착 상태인 것으로 판단할 수 있다. 상기 데드락 매니저 블록은 제2 교착 상태 신호가 전송된 제2 복원 블록으로 제2 교착 상태 해소 명령을 전송하고, 다시 내부 타이머가 동작되게 제어할 수 있다. 상기 제2 복원 블록은 상기 복수의 마스터 블록들 중 제2 마스터 블록과 동작 가능하게 결합될 수 있다.
실시 예로, 상기 CPU가 시스템 복원 서비스 루틴을 수행하는 것을 만료할 때까지, 상기 데드락 매니저 블록은 복수의 교착 상태 해소 명령들을 복수의 복원 블록들로 전송하는 것을 반복할 수 있다. 상기 데드락 매니저 블록은 교착 상태가 발생된 모든 상기 복수의 복원 블록들에게 상기 복수의 교착 상태 해소 명령들이 전송되면 시스템 복원 시도가 실패한 것으로 판단할 수 있다.
실시 예로, 상기 데드락 매니저 블록은 교착 상태가 발생된 모든 복수의 마스터 블록들과 모든 복수의 슬레이브 블록들로 교착 상태 해소 명령들이 전송된 이후에도 상기 CPU가 시스템 복원 서비스 루틴을 수행하는 것이 만료되지 않으면, 상기 시스템 복원 시도가 실패한 것으로 판단할 수 있다.
실시 예로, 상기 데드락 매니저 블록은 상기 시스템 복원 시도가 실패한 것으로 판단되면, 시스템 리셋 블록으로 시스템 리셋 명령을 전달하여 전체 시스템의 모든 블록들에 대한 재부팅을 통해 상기 모든 블록들에 대한 리셋을 수행할 수 있다.
실시 예로, 상기 복원 블록은 복수의 마스터 블록들 중 특정 마스터 블록과 동작 가능하게 연결되는 마스터 복원 블록일 수 있다. 상기 마스터 복원 블록은 상기 특정 마스터 블록으로부터 명령을 수신하는 명령 채널 및 상기 특정 마스터 블록으로 응답을 전송하는 응답 채널을 통해 상기 특정 마스터 블록과 동작 가능하게 결합될 수 있다.
실시 예로, 상기 마스터 복원 블록은 상기 명령 채널과 인터페이스 되는 제1 버퍼 및 상기 응답 채널과 인터페이스 되는 제2 버퍼; 상기 제1 버퍼와 동작 가능하게 결합되어 교착 상태 발생 신호를 생성하는 가상 명령 생성 모듈; 상기 제2 버퍼와 동작 가능하게 결합되어 상기 시스템 버스로부터 수신되는 명령을 수신하는 가상 응답 수신 모듈; 및 상기 제1 버퍼 및 상기 제2 버퍼와 동작 가능하게 결합되고, 상기 데드락 매니저 블록에서 교착 상태 해소 명령과 연관된 제1 제어 명령들을 수신하도록 구성된 데드락 클리어 제어 모듈을 포함할 수 있다.
실시 예로, 상기 마스터 복원 블록은 상기 제1 버퍼 및 상기 시스템 버스와 동작 가능하게 결합되고, 상기 명령 채널을 통해 전달되는 제어 명령들을 모니터하도록 구성된 명령 모니터 모듈; 상기 제2 버퍼 및 상기 시스템 버스와 동작 가능하게 결합되고, 상기 응답 채널을 통해 전달되는 응답들을 모니터하도록 구성된 응답 모니터 모듈; 및 상기 명령 모니터 모듈 및 상기 응답 모니터 모듈과 동작 가능하게 결합되고, 시스템의 교착 상태를 검출하여 교착 상태 발생 신호를 상기 데드락 매니저 모듈로 전달하는 데드락 검출 모듈을 더 포함할 수 있다.
실시 예로, 상기 복원 장치는 복수의 슬레이브 블록들 중 특정 슬레이브 블록과 동작 가능하게 연결되는 슬레이브 복원 블록을 더 포함할 수 있다. 상기 슬레이브 복원 블록은 상기 시스템 버스로부터 명령을 수신하는 명령 채널 및 상기 시스템 버스로 응답을 전송하는 응답 채널을 통해 상기 시스템 버스와 동작 가능하게 결합될 수 있다.
실시 예로, 상기 슬레이브 복원 블록은 상기 명령 채널과 인터페이스 되는 제3 버퍼 및 상기 응답 채널과 인터페이스 되는 제4 버퍼 - 상기 제3 버퍼 및 상기 제4 버퍼는 상기 특정 슬레이브 블록과 동작 가능하게 결합됨; 상기 제3 버퍼와 동작 가능하게 결합되어 상기 교착 상태 발생 신호와 연관된 제어 명령을 수신하도록 구성된 가상 명령 수신 모듈; 상기 제4 버퍼와 동작 가능하게 결합되어 상기 교착 상태 발생 신호와 연관된 응답을 생성하도록 구성된 가상 응답 생성 모듈; 및 상기 제3 버퍼 및 상기 제4 버퍼와 동작 가능하게 결합되고, 상기 데드락 매니저 블록으로 교착 상태 해소 명령과 연관된 제2 제어 명령들을 수신하도록 구성된 데드락 클리어 제어 모듈을 포함할 수 있다.
실시 예로, 상기 슬레이브 복원 블록은 상기 제3 버퍼 및 상기 시스템 버스와 동작 가능하게 결합되고, 상기 명령 채널을 통해 전달되는 제어 명령들을 모니터하도록 구성된 명령 모니터 모듈; 상기 제4 버퍼 및 상기 시스템 버스와 동작 가능하게 결합되고, 상기 응답 채널을 통해 전달되는 응답들을 모니터하도록 구성된 응답 모니터 모듈; 및 상기 명령 모니터 모듈 및 상기 응답 모니터 모듈과 동작 가능하게 결합되고, 시스템의 교착 상태를 검출하여 교착 상태 발생 신호를 상기 데드락 매니저 모듈로 전달하는 데드락 검출 모듈을 더 포함할 수 있다.
실시 예로, 상기 데드락 매니저 모듈은 상기 마스터 복원 블록의 데드락 검출 모듈로부터 교착 상태 발생 신호를 수신하고, 상기 슬레이브 복원 블록의 데드락 검출 모듈로부터 교착 상태 발생 신호를 수신하도록 구성된 데드락 정보 모듈; 및 상기 교착 상태 해소 명령과 연관된 제어 명령들을 상기 마스터 복원 블록의 데드락 클리어 제어 모듈로 전달하고, 상기 데드락 클리어와 연관된 제2 제어 명령들을 상기 슬레이브 복원 블록의 데드락 클리어 제어 모듈로 전달하도록 구성된 데드락 클리어 모듈을 포함할 수 있다.
본 명세서의 다른 양상에 따른 차량에서 시스템 교착 상태를 해소하기 위한 복원 방법은 복원 블록(recovery block)에서 시스템의 교착 상태 발생을 모니터링하는 데드락 모니터링 과정; 상기 복원 블록으로부터 데드락 매니저 블록(deadlock manager block)가 상기 교착 상태 발생 신호를 수신하여 상기 시스템의 교착 상태가 발생하였는지를 판단하는 교착 상태 판단 과정; 상기 시스템의 교착 상태 발생시 상기 복원 블록에서 교착 상태 발생 신호를 생성하여 전달하는 교착 상태 발생 신호 전달 과정; 상기 복원 블록으로부터 상기 교착 상태 발생 신호를 수신하면, 상기 데드락 매니저 블록이 인터럽트를 중앙처리 장치(CPU)로 전달하는 인터럽트 전달 과정; 상기 데드락 매니저 블록은 내부 타이머가 만료 시 상기 CPU가 교착 상태인 것으로 판단하고, 상기 복원 블록에 교착 상태 해소 명령을 전송하는 교착 상태 해소 명령 전송 과정; 및 상기 교착 상태 해소 명령을 수신하면 상기 복원 블록은 상기 교착 상태 해소 명령과 연관된 해당 인터페이스의 교착 상태를 해소하고, 상기 교착 상태 해소 명령과 연관된 해당 기능 블록이 상기 시스템 버스와 분리(isolation)되도록 제어하는 교착 상태 해소 과정을 포함할 수 있다.
실시 예로, 상기 인터럽트 전달 과정의 이후, 상기 복원 방법은 상기 복원 블록의 교착 상태가 해소되고 상기 CPU가 동작 가능한지 여부를 판단하는 교착 상태 해소 판단 과정; 및 상기 복원 블록의 교착 상태가 해소되고 상기 CPU가 동작 가능한 것으로 판단되면, 상기 CPU는 시스템 복원 서비스 루틴을 수행하고 상기 데드락 매니저 블록의 인터럽트를 클리어하는 인터럽트 클리어 과정을 더 포함할 수 있다.
실시 예로, 상기 해당 기능 블록은 복수의 마스터 블록들 중 제1 마스터 블록과 동작 가능하게 연결된 제1 복원 블록일 수 있다. 상기 교착 상태 해소 판단 과정에서, 상기 데드락 매니저 블록은 상기 제1 복원 블록의 교착 상태가 해소되었지만 상기 데드락 매니저 블록의 인터럽트가 클리어 되지 않고 상기 데드락 매니저 블록의 내부 타이머가 다시 만료되면 상기 CPU가 여전히 교착 상태인 것으로 판단할 수 있다. 제2 교착 상태 신호가 전송된 제2 복원 블록으로 제2 교착 상태 해소 명령을 전송하고, 다시 내부 타이머가 동작되게 제어할 수 있다. 상기 제2 복원 블록은 상기 복수의 마스터 블록들 중 제2 마스터 블록과 동작 가능하게 결합될 수 있다.
실시 예로, 상기 교착 상태 해소 명령 전송 과정에서, 상기 CPU가 시스템 복원 서비스 루틴을 수행하는 것을 완료할 때까지, 상기 데드락 매니저 블록은 복수의 교착 상태 해소 명령들을 복수의 복원 블록들로 전송하는 것을 반복할 수 있다. 상기 교착 해소 명령 전송 완료 판단 과정에서, 상기 데드락 매니저 블록은 교착 상태가 발생된 모든 상기 복수의 복원 블록들에게 상기 복수의 교착 상태 해소 명령들이 전송되면 시스템 복원 시도가 실패한 것으로 판단할 수 있다.
실시 예로, 상기 교착 상태 발생 신호 전달 과정의 이후, 상기 교착 상태가 발생한 발생 위치 및 발생 순서에 관한 정보를 수집하는 교착 상태 발생 정보 수집 과정이 수행될 수 있다. 상기 인터럽트 전달 과정의 이후, 상기 복원 방법은 상기 데드락 매니저 블록의 내부 타이머를 카운트하여 상기 내부 타이머가 만료되었는지를 판단하는 내부 타이머 만료 판단 과정; 및 상기 발생 순서에 따라 모든 발생 위치들로 교착 상태 해소 명령들이 전송되었는지를 판단하는 교착 해소 명령 전송 완료 판단 과정을 더 포함할 수 있다.
이와 같은 시스템 교착 상태를 해소하는 복원 장치 및 방법의 기술적 효과에 대해 설명하면 다음과 같다.
본 명세서에 따르면, 또한 시스템 전체가 초기화되기 때문에 이전 동작과의 연속성이 손실되어 전체 시나리오 동작을 다시 수행해야 되는 문제를 해결할 수 있다.
본 명세서에 따르면, 교착 상태로 인해 시스템이 초기화될 경우, 이전 동작과의 연속성을 최대한 보존할 수 있다.
본 명세서에 따르면, 전체 동작 수행 중 중간 상태를 특정 주기마다 저장함에 따라 저장 공간에 대한 자원 문제로 인해 보존되는 정보량이 제한되어 동작의 연속성을 유지하기 어려운 이슈를 해결할 수 있다.
본 명세서에 따르면, 중간 상태 저장 과정이 중앙 처리 정치의 오버헤드를 늘어나게 하는 이슈를 해결할 수 있다.
본 명세서에 따르면, 시스템 전체 리셋을 수행하지 않고, 중앙 처리 장치가 시스템 복구를 시도할 수 있도록 자체적으로 중앙 처리 장치가 교착 상태로 빠지지 않도록 보호할 수 있다.
본 명세서에 따르면, 교착 상태의 원인을 파악할 수 있도록 정보를 제공하는 방안을 제안할 수 있다.
본 명세서에 따르면, 종래의 시스템 전체 초기화 방식이 아닌 중앙 처리 장치를 통해 시스템 복구가 가능하다면, 동작의 연속성이 보존되며 시스템 초기화로 인한 기능 손실 구간을 최소화할 수 있다.
본 명세서의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 발명의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 발명의 바람직한 실시 예와 같은 특정 실시 예는 단지 예시로 주어진 것으로 이해되어야 한다.
도 1은 본 명세서의 구현이 적용되는 통신 시스템의 예를 나타낸다.
도 2는 본 명세서의 구현이 적용되는 무선 장치의 예를 나타낸다.
도 3은 V2X 어플리케이션의 타입을 나타낸다.
도 4는 본 명세서의 실시예에 따른 차량 및 차량에 탑재되는 통신 시스템을 설명하는데 참조되는 블럭도이다.
도 5는 명세서에 따른 통신 시스템의 교착 상태를 해소하는 복원 장치의 구성을 나타낸다.
도 6은 도 5의 복원 장치에서 교착 상태 발생에 따라 각 구성들 간에 신호 또는 명령을 교환하는 인터페이스 구조도를 나타낸다.
도 7a 및 도 7b은 본 명세서에 따른 시스템 교착 상태를 해소하는 복원 장치에서 수행되는 복원 방법의 동작 흐름도를 나타낸다.
도 8은 마스터 측 복원 블록의 상세 구조 및 데드락 매니저의 상세 블록을 나타낸다.
도 9는 도 8의 데드락 매니저를 통해 마스터 측 복원 블록과 연동되는 슬레이브 측 복원 블록의 상세 구조를 나타낸다.
도 10은 본 명세서에 따른 시스템 교착 상태를 해소하는 복원 방법의 흐름도를 나타낸다.
도 11은 본 명세서에 따른 복원 장치와 연동하는 차량의 구성을 나타낸다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하에서는 본 명세서에 따른 통신 시스템의 교착 상태를 해소하는 방법 및 이를 수행하는 장치에 대해 설명한다. 이와 관련하여, 통신 시스템은 차량에서 통신을 수행하기 위한 통신 시스템일 수 있지만, 이에 한정되는 것은 아니다.
도 1은 본 명세서의 구현이 적용되는 통신 시스템의 예를 나타낸다. 도 1에 표시된 5G 사용 시나리오는 일 예시에 해당하며 이에 한정되는 것은 아니다. 5G는 초당 수백 메가 비트로 평가된 스트리밍을 초당 기가비트에 제공하는 수단이며, FTTH(Fiber-To-The-Home)와 케이블 기반 광대역(또는 DOCSIS)을 보완할 수 있다. 가상 현실과 증강 현실 뿐만 아니라 4K 이상(6K, 8K 이상) 해상도의 TV를 전달하려면 이 같은 빠른 속도가 필요하다. 가상 현실(VR; Virtual Reality) 및 증강 현실(AR; Augmented Reality) 애플리케이션에는 몰입도가 높은 스포츠 게임이 포함되어 있다. 특정 응용 프로그램에는 특수 네트워크 구성이 필요할 수 있다. 예를 들어, VR 게임의 경우 게임 회사는 대기 시간을 최소화하기 위해 코어 서버를 네트워크 운영자의 에지 네트워크 서버에 통합해야 한다.
자동차는 차량용 이동 통신의 많은 사용 예와 함께 5G에서 새로운 중요한 동기 부여의 힘이 될 것으로 기대된다. 예를 들어, 승객을 위한 오락은 높은 동시 용량과 이동성이 높은 광대역 이동 통신을 요구한다. 향후 이용자들이 위치와 속도에 관계없이 고품질 연결을 계속 기대하고 있기 때문이다. 자동차 분야의 또 다른 사용 예는 AR 대시보드(dashboard)이다. AR 대시보드는 운전자가 전면 창에서 보이는 물체 외에 어두운 곳에서 물체를 식별하게 하고, 운전자에게 정보 전달을 오버랩(overlap)하여 물체와의 거리 및 물체의 움직임을 표시한다. 미래에는 무선 모듈이 차량 간의 통신, 차량과 지원 인프라 간의 정보 교환, 차량과 기타 연결된 장치(예: 보행자가 동반하는 장치) 간의 정보 교환을 가능하게 한다. 안전 시스템은 운전자가 보다 안전하게 운전할 수 있도록 행동의 대체 과정을 안내하여 사고의 위험을 낮춘다. 다음 단계는 원격으로 제어되거나 자율 주행하는 차량이 될 것이다. 이를 위해서는 서로 다른 자율주행 차량 간의, 그리고 차량과 인프라 간의 매우 높은 신뢰성과 매우 빠른 통신이 필요하다. 앞으로는 자율주행 차량이 모든 주행 활동을 수행하고 운전자는 차량이 식별할 수 없는 이상 트래픽에만 집중하게 될 것이다. 자율주행 차량의 기술 요구사항은 인간이 달성할 수 없는 수준으로 교통 안전이 높아지도록 초저지연과 초고신뢰를 요구한다.
도 1을 참조하면, 통신 시스템(1)은 무선 장치(100a~100f), 기지국(BS; 200) 및 네트워크(300)을 포함한다. 도 1은 통신 시스템(1)의 네트워크의 예로 5G 네트워크를 설명하지만, 본 명세서의 구현은 5G 시스템에 국한되지 않으며, 5G 시스템을 넘어 미래의 통신 시스템에 적용될 수 있다.
기지국(200)과 네트워크(300)는 무선 장치로 구현될 수 있으며, 특정 무선 장치는 다른 무선 장치와 관련하여 기지국/네트워크 노드로 동작할 수 있다.
무선 장치(100a~100f)는 무선 접속 기술(RAT; Radio Access Technology) (예: 5G NR 또는 LTE)을 사용하여 통신을 수행하는 장치를 나타내며, 통신/무선/5G 장치라고도 할 수 있다. 무선 장치(100a~100f)는, 이에 국한되지 않고, 로봇(100a), 차량(100b-1 및 100b-2), 확장 현실(XR; eXtended Reality) 장치(100c), 휴대용 장치(100d), 가전 제품(100e), IoT(Internet-Of-Things) 장치(100f) 및 인공 지능(AI; Artificial Intelligence) 장치/서버(400)을 포함할 수 있다. 예를 들어, 차량에는 무선 통신 기능이 있는 차량, 자율주행 차량 및 차량 간 통신을 수행할 수 있는 차량이 포함될 수 있다. 차량에는 무인 항공기(UAV; Unmanned Aerial Vehicle)(예: 드론)가 포함될 수 있다. XR 장치는 AR(Augmented Reality)/VR(Virtual Reality)/MR(Mixed Realty) 장치를 포함할 수 있으며, 차량, 텔레비전, 스마트폰, 컴퓨터, 웨어러블 장치, 가전 제품, 디지털 표지판, 차량, 로봇 등에 장착된 HMD(Head-Mounted Device), HUD(Head-Up Display)의 형태로 구현될 수 있다. 휴대용 장치에는 스마트폰, 스마트 패드, 웨어러블 장치(예: 스마트 시계 또는 스마트 안경) 및 컴퓨터(예: 노트북)가 포함될 수 있다. 가전 제품에는 TV, 냉장고, 세탁기가 포함될 수 있다. IoT 장치에는 센서와 스마트 미터가 포함될 수 있다.
무선 장치(100a~100f)는 기지국(200)을 통해 네트워크(300)와 연결될 수 있다. 무선 장치(100a~100f)에는 AI 기술이 적용될 수 있으며, 무선 장치(100a~100f)는 네트워크(300)를 통해 AI 서버(400)와 연결될 수 있다. 네트워크(300)는 3G 네트워크, 4G(예: LTE) 네트워크, 5G(예: NR) 네트워크 및 5G 이후의 네트워크 등을 이용하여 구성될 수 있다. 무선 장치(100a~100f)는 기지국(200)/네트워크(300)를 통해 서로 통신할 수도 있지만, 기지국(200)/네트워크(300)를 통하지 않고 직접 통신(예: 사이드링크 통신(sidelink communication))할 수도 있다. 예를 들어, 차량(100b-1, 100b-2)은 직접 통신(예: V2V(Vehicle-to-Vehicle)/V2X(Vehicle-to-everything) 통신)을 할 수 있다. 또한, IoT 기기(예: 센서)는 다른 IoT 기기(예: 센서) 또는 다른 무선 장치(100a~100f)와 직접 통신을 할 수 있다.
무선 장치(100a~100f) 간 및/또는 무선 장치(100a~100f)와 기지국(200) 간 및/또는 기지국(200) 간에 무선 통신/연결(150a, 150b, 150c)이 확립될 수 있다. 여기서, 무선 통신/연결은 상향/하향링크 통신(150a), 사이드링크 통신(150b)(또는, D2D(Device-To-Device) 통신), 기지국 간 통신(150c)(예: 중계, IAB(Integrated Access and Backhaul)) 등과 같이 다양한 RAT(예: 5G NR)을 통해 확립될 수 있다. 무선 통신/연결(150a, 150b, 150c)을 통해 무선 장치(100a~100f)와 기지국(200)은 서로 무선 신호를 송신/수신할 수 있다. 예를 들어, 무선 통신/연결(150a, 150b, 150c)은 다양한 물리 채널을 통해 신호를 송신/수신할 수 있다. 이를 위해, 본 명세서의 다양한 제안에 기반하여, 무선 신호의 송신/수신을 위한 다양한 구성 정보 설정 과정, 다양한 신호 처리 과정(예: 채널 인코딩/디코딩, 변조/복조, 자원 맵핑/디맵핑 등), 및 자원 할당 과정 등 중 적어도 일부가 수행될 수 있다.
도 2는 본 명세서의 구현이 적용되는 무선 장치의 예를 나타낸다. 도 2를 참조하면, 제1 무선 장치(100)와 제2 무선 장치(200)는 다양한 무선 접속 기술(예: LTE, NR)을 통해 무선 신호를 송수신할 수 있다. 도 2에서, {제1 무선 장치(100) 및 제2 무선 장치(200)}는 도 1의 {무선 장치(100a~100f) 및 기지국(200)}, {무선 장치(100a~100f) 및 무선 장치(100a~100f)} 및/또는 {기지국(200) 및 기지국(200)} 중 적어도 하나에 대응할 수 있다.
제1 무선 장치(100)는 하나 이상의 프로세서(102) 및 하나 이상의 메모리(104)를 포함할 수 있다. 제1 무선 장치(100)는 추가적으로 하나 이상의 송수신기(106) 및/또는 하나 이상의 안테나(108)를 더 포함할 수 있다. 프로세서(102)는 메모리(104) 및/또는 송수신기(106)를 제어할 수 있다. 프로세서(102)는 본 명세서에 개시된 설명, 기능, 절차, 제안, 방법 및/또는 동작 흐름도를 구현하도록 구성될 수 있다. 예를 들어, 프로세서(102)는 메모리(104) 내의 정보를 처리하여 제1 정보/신호를 생성한 뒤, 송수신기(106)를 통해 제1 정보/신호를 포함하는 무선 신호를 전송할 수 있다. 또한, 프로세서(102)는 송수신기(106)를 통해 제2 정보/신호를 포함하는 무선 신호를 수신한 뒤, 제2 정보/신호를 처리하여 얻은 정보를 메모리(104)에 저장할 수 있다. 메모리(104)는 프로세서(102)와 연결될 수 있고, 프로세서(102)의 동작과 관련한 다양한 정보를 저장할 수 있다. 예를 들어, 메모리(104)는 프로세서(102)에 의해 제어되는 프로세스 중 일부 또는 전부를 수행하거나, 본 명세서에 개시된 설명, 기능, 절차, 제안, 방법 및/또는 동작 흐름도를 수행하기 위한 명령을 포함하는 소프트웨어 코드를 저장할 수 있다. 여기서, 프로세서(102)와 메모리(104)는 RAT(예: LTE, NR)을 구현하도록 설계된 통신 모뎀/회로/칩의 일부일 수 있다. 송수신기(106)는 프로세서(102)와 연결될 수 있고, 하나 이상의 안테나(108)를 통해 무선 신호를 송신 및/또는 수신할 수 있다. 송수신기(106)는 송신기 및/또는 수신기를 포함할 수 있다. 송수신기(106)는 RF(Radio Frequency) 유닛과 혼용될 수 있다. 본 명세서에서 제1 무선 장치(100)는 통신 모뎀/회로/칩을 의미할 수도 있다.
제2 무선 장치(200)는 하나 이상의 프로세서(202) 및 하나 이상의 메모리(204)를 포함할 수 있다. 제2 무선 장치(200)는 추가적으로 하나 이상의 송수신기(206) 및/또는 하나 이상의 안테나(208)를 더 포함할 수 있다. 프로세서(202)는 메모리(204) 및/또는 송수신기(206)를 제어할 수 있다. 프로세서(202)는 본 명세서에 개시된 설명, 기능, 절차, 제안, 방법 및/또는 동작 흐름도를 구현하도록 구성될 수 있다. 예를 들어, 프로세서(202)는 메모리(204) 내의 정보를 처리하여 제3 정보/신호를 생성한 뒤, 송수신기(206)를 통해 제3 정보/신호를 포함하는 무선 신호를 전송할 수 있다. 또한, 프로세서(202)는 송수신기(206)를 통해 제4 정보/신호를 포함하는 무선 신호를 수신한 뒤, 제4 정보/신호를 처리하여 얻은 정보를 메모리(204)에 저장할 수 있다. 메모리(204)는 프로세서(202)와 연결될 수 있고, 프로세서(202)의 동작과 관련한 다양한 정보를 저장할 수 있다. 예를 들어, 메모리(204)는 프로세서(202)에 의해 제어되는 프로세스 중 일부 또는 전부를 수행하거나, 본 명세서에 개시된 설명, 기능, 절차, 제안, 방법 및/또는 동작 흐름도를 수행하기 위한 명령을 포함하는 소프트웨어 코드를 저장할 수 있다. 여기서, 프로세서(202)와 메모리(204)는 RAT(예: LTE, NR)을 구현하도록 설계된 통신 모뎀/회로/칩의 일부일 수 있다. 송수신기(206)는 프로세서(202)와 연결될 수 있고, 하나 이상의 안테나(208)를 통해 무선 신호를 송신 및/또는 수신할 수 있다. 송수신기(206)는 송신기 및/또는 수신기를 포함할 수 있다. 송수신기(206)는 RF 유닛과 혼용될 수 있다. 본 명세서에서 제2 무선 장치(200)는 통신 모뎀/회로/칩을 의미할 수도 있다.
차량은 주변 차량 이외에 보행자, 주변 인프라 및/또는 서버와 통신하도록 구성될 수 있다. 이와 관련하여, 도 3은 V2X 어플리케이션의 타입을 나타낸다. 도 2를 참조하면, V2X(Vehicle-to-Everything) 통신은 차량 사이의 통신을 지칭하는 V2V(Vehicle-to-Vehicle), 차량과 eNB 또는 RSU(Road Side Unit) 사이의 통신을 지칭하는 V2I(Vehicle to Infrastructure), 차량 및 개인(보행자, 자전거 운전자, 차량 운전자 또는 승객)이 소지하고 있는 단말 간 통신을 지칭하는 V2P(Vehicle-to-Pedestrian), V2N(vehicle-to- network) 등 차량과 모든 개체들 간 통신을 포함한다.
V2X 통신을 지원하기 위해 차량은 안테나 시스템을 통해 eNB 및/또는 gNB과 무선 통신을 수행할 수 있다. 이와 관련하여, 안테나 모듈은 도 1a 내지 도 1c와 같이 외부 안테나 모듈(external antenna module) 및/또는 내부 안테나 모듈(internal antenna module)로 구현될 수 있다.
한편, 도 4는 본 명세서의 실시예에 따른 차량 및 차량에 탑재되는 통신 시스템을 설명하는데 참조되는 블럭도이다.
차량(500)은 통신 장치(400) 및 프로세서(570)를 포함하도록 구성될 수 있다. 통신 장치(400)는 차량(500)의 텔레매틱스 제어 유닛(telematics control unit)에 대응할 수 있다.
통신 장치(400)는, 외부 디바이스와 통신을 수행하기 위한 장치이다. 여기서, 외부 디바이스는, 타 차량, 이동 단말기 또는 서버일 수 있다. 통신 장치(400)는, 통신을 수행하기 위해 송신 안테나, 수신 안테나, 각종 통신 프로토콜이 구현 가능한 RF(Radio Frequency) 회로 및 RF 소자 중 적어도 어느 하나를 포함할 수 있다. 통신 장치(400)는 근거리 통신부(410), 위치 정보부(420), V2X 통신부(430), 광통신부(440), 4G 무선 통신 모듈(450) 및 5G 무선 통신 모듈(460)을 포함할 수 있다. 통신 장치(400)는 프로세서(470)를 포함할 수 있다. 실시예에 따라, 통신 장치(400)는 설명되는 구성 요소외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다.
4G 무선 통신 모듈(450) 및 5G 무선 통신 모듈(460)은 하나 이상의 안테나 모듈을 통해 하나 이상의 통신 시스템과 무선 통신을 수행한다. 4G 무선 통신 모듈(450)은 제1 안테나 모듈을 통해 제1 통신 시스템 내의 기기로 신호를 송신 및/또는 수신할 수 있다. 또한, 5G 무선 통신 모듈(460)은 제2 안테나 모듈을 통해 제2 통신 시스템 내의 기기로 신호를 송신 및/또는 수신할 수 있다. 4G 무선 통신 모듈(450) 및 5G 무선 통신 모듈(460)은 물리적으로 하나의 통합 통신 모듈로 구현될 수도 있다. 여기서, 제1 통신 시스템과 제2 통신 시스템은 각각 LTE 통신 시스템 및 5G 통신 시스템일 수 있다. 하지만, 제1 통신 시스템과 제2 통신 시스템은 이에 한정되는 것은 아니고 임의의 서로 다른 통신 시스템으로 확장 가능하다.
차량(500)내 장치의 프로세서는 MCU(Micro Control Unit) 또는 모뎀(modem)으로 구현될 수 있다. 통신 장치(400)의 프로세서(470)는 모뎀(modem)에 해당하고 프로세서(470)는 통합 모뎀으로 구현될 수 있다. 프로세서(470)는 무선 통신을 통해 다른 주변 차량, 사물 또는 인프라로부터 주변 정보를 획득할 수 있다. 프로세서(470)는 획득된 주변 정보를 이용하여 차량 제어를 수행할 수 있다.
차량(500)의 프로세서(570)는 CAN(Car Area Network) 또는 ADAS(Advanced Driving Assistance System)의 프로세서일 수 있지만, 이에 한정되는 것은 아니다. 차량(500)이 분산 제어 방식으로 구현 시 차량(500)의 프로세서(570)는 각 장치의 프로세서로 대체될 수 있다.
한편, 차량(500) 내부에 배치되는 안테나 모듈은 무선 통신부를 포함하도록 구성될 수 있다. 4G 무선 통신 모듈(450)은 4G 이동통신 네트워크를 통해 4G 기지국과 4G 신호를 전송 및 수신할 수 있다. 이때, 4G 무선 통신 모듈(450)은 하나 이상의 4G 송신 신호를 4G 기지국으로 전송할 수 있다. 또한, 4G 무선 통신 모듈(450)은 하나 이상의 4G 수신 신호를 4G 기지국으로부터 수신할 수 있다. 이와 관련하여, 4G 기지국으로 전송되는 복수의 4G 송신 신호에 의해 상향링크(UL: Up-Link) 다중입력 다중출력(MIMO: Multi-Input Multi-Output)이 수행될 수 있다. 또한, 4G 기지국으로부터 수신되는 복수의 4G 수신 신호에 의해 하향링크(DL: Down-Link) 다중입력 다중출력(MIMO: Multi-Input Multi-Output)이 수행될 수 있다.
5G 무선 통신 모듈(460)은 5G 이동통신 네트워크를 통해 5G 기지국과 5G 신호를 전송 및 수신할 수 있다. 여기서, 4G 기지국과 5G 기지국은 비-스탠드 얼론(NSA: Non-Stand-Alone) 구조일 수 있다. 예컨대, 4G 기지국과 5G 기지국은 논-스탠드 얼론(NSA: Non Stand-Alone) 구조로 배치될 수 있다. 또는, 5G 기지국은 4G 기지국과 별도의 위치에 스탠드-얼론(SA: Stand-Alone) 구조로 배치될 수 있다. 5G 무선 통신 모듈(460)은 5G 이동통신 네트워크를 통해 5G 기지국과 5G 신호를 전송 및 수신할 수 있다. 이때, 5G 무선 통신 모듈(460)은 하나 이상의 5G 송신 신호를 5G 기지국으로 전송할 수 있다. 또한, 5G 무선 통신 모듈(460)은 하나 이상의 5G 수신 신호를 5G 기지국으로부터 수신할 수 있다. 이때, 5G 주파수 대역은 4G 주파수 대역과 동일한 대역을 사용할 수 있고, 이를 LTE 재배치(re-farming)이라고 지칭할 수 있다. 한편, 5G 주파수 대역으로, 6GHz 이하의 대역인 Sub6 대역이 사용될 수 있다. 반면, 광대역 고속 통신을 수행하기 위해 밀리미터파(mmWave) 대역이 5G 주파수 대역으로 사용될 수 있다. 밀리미터파(mmWave) 대역이 사용되는 경우, 전자 기기는 기지국과의 통신 커버리지 확장(coverage expansion)을 위해 빔 포밍(beam forming)을 수행할 수 있다.
한편, 5G 주파수 대역에 관계없이, 5G 통신 시스템에서는 전송 속도 향상을 위해, 더 많은 수의 다중입력 다중출력(MIMO: Multi-Input Multi-Output)을 지원할 수 있다. 이와 관련하여, 5G 기지국으로 전송되는 복수의 5G 송신 신호에 의해 상향링크(UL: Up-Link) MIMO가 수행될 수 있다. 또한, 5G 기지국으로부터 수신되는 복수의 5G 수신 신호에 의해 하향링크(DL: Down-Link) MIMO가 수행될 수 있다.
한편, 4G 무선 통신 모듈(450)과 5G 무선 통신 모듈(460)을 통해 4G 기지국 및 5G 기지국과 이중 연결(DC: Dual Connectivity) 상태일 수 있다. 이와 같이, 4G 기지국 및 5G 기지국과의 이중 연결을 EN-DC(EUTRAN NR DC)이라 지칭할 수 있다. 한편, 4G 기지국과 5G 기지국이 공통-배치 구조(co-located structure)이면, 이종 반송파 집성(inter-CA(Carrier Aggregation)을 통해 스루풋(throughput) 향상이 가능하다. 따라서, 4G 기지국 및 5G 기지국과 EN-DC 상태이면, 4G 무선 통신 모듈(450) 및 5G 무선 통신 모듈(460)을 통해 4G 수신 신호와 5G 수신 신호를 동시에 수신할 수 있다. 한편, 4G 무선 통신 모듈(450) 및 5G 무선 통신 모듈(460)을 이용하여 전자 기기(예컨대, 차량) 간 근거리 통신이 수행될 수 있다. 일 실시 예에서, 자원이 할당된 후 기지국을 경유하지 않고 차량들 간에 V2V 방식에 의해 무선 통신이 수행될 수 있다.
한편, 전송 속도 향상 및 통신 시스템 융합(convergence)을 위해, 4G 무선 통신 모듈(450) 및 5G 무선 통신 모듈(460) 중 적어도 하나와 Wi-Fi 통신 모듈(113)을 이용하여 반송파 집성(CA)이 수행될 수 있다. 이와 관련하여, 4G 무선 통신 모듈(450)과 Wi-Fi 통신 모듈(113)을 이용하여 4G + WiFi 반송파 집성(CA)이 수행될 수 있다. 또는, 5G 무선 통신 모듈(460)과 Wi-Fi 통신 모듈을 이용하여 5G + WiFi 반송파 집성(CA)이 수행될 수 있다.
한편, 통신 장치(400)는 사용자 인터페이스 장치와 함께 차량용 디스플레이 장치를 구현할 수 있다. 이 경우, 차량용 디스플레이 장치는 텔레 매틱스(telematics) 장치 또는 AVN(Audio Video Navigation) 장치로 명명될 수 있다.
이하에서는 본 명세서에 따른 통신 시스템의 교착 상태를 해소하는 방법 및 이를 수행하는 장치에 대해 설명한다. 이와 관련하여, 통신 시스템은 차량에서 통신을 수행하기 위한 통신 시스템일 수 있지만, 이에 한정되는 것은 아니다.
이와 관련하여 시스템의 교착상태가 발생될 경우 워치독(watchdog)을 통해 시스템 교착 상태를 확인하고 시스템 전체 리셋을 통해 재부팅화에 동작을 초기화하는 방식으로 구현될 수 있다. 하지만, 전체 시스템 리셋을 통해 재부팅하여 초기화하는 방식은 보편적으로 시스템 동작 측면에서의 기능 손실이 크게 발생할 수 있다. 예를 들어, 주요 시스템 동작과는 크게 상관없는 작은 기능 블록에서의 문제로 시스템 교착 상태가 발생한 경우 시스템 전체를 초기화하여 기능이 손실되는 구간이 크게 증가하게 된다.
따라서, 본 명세서에 따른 시스템 교착 상태를 해소하는 복원 장치 및 방법은 다음과 같은 기술적 효과를 달성할 수 있도록 구현될 필요가 있다. 본 명세서에 따른 실시예를 통해 시스템 전체가 초기화되기 때문에 이전 동작과의 연속성이 손실되어 전체 시나리오 동작을 다시 수행해야 되는 문제를 해결할 필요가 있다. 본 명세서에 따른 실시예를 통해 교착 상태로 인해 시스템이 초기화될 경우, 이전 동작과의 연속성을 최대한 보존할 필요가 있다. 본 명세서에 따른 실시예를 통해 전체 동작 수행 중 중간 상태를 특정 주기마다 저장함에 따라 저장 공간에 대한 자원 문제로 인해 보존되는 정보량이 제한되어 동작의 연속성을 유지하기 어려운 이슈를 해결할 수 있다. 본 명세서에 따른 실시예를 통해 중간 상태 저장 과정이 중앙 처리 정치의 오버헤드를 늘어나게 하는 이슈를 해결할 필요가 있다. 본 명세서에 따른 실시예들 통해, 시스템 전체 리셋을 수행하지 않고, 중앙 처리 장치가 시스템 복구를 시도할 수 있도록 자체적으로 중앙 처리 장치가 교착 상태로 빠지지 않도록 보호할 필요가 있다. 본 명세서에 따른 실시예를 통해 교착 상태의 원인을 파악할 수 있도록 정보를 제공하는 방안을 제안할 필요가 있다. 본 명세서에 따른 실시예를 통해 시스템 전체 초기화 방식이 아닌 중앙 처리 장치를 통해 시스템 복구가 가능하다면, 동작의 연속성이 보존되며 시스템 초기화로 인한 기능 손실 구간을 최소화할 필요가 있다.
이와 관련하여, 도 5는 명세서에 따른 통신 시스템의 교착 상태를 해소하는 복원 장치의 구성을 나타낸다. 한편, 도 6은 도 5의 복원 장치에서 교착 상태 발생에 따라 각 구성들 간에 신호 또는 명령을 교환하는 인터페이스 구조도를 나타낸다. 도 5 및 도 6의 복원 장치는 도 2의 프로세서(102)와 메모리(104)를 구비하는 제1 장치(100) 또는 프로세서(202)와 메모리(204)를 구비하는 제2 장치(200)일 수 있다. 제1 장치(100) 또는 제2 장치(200)는 프로세서(102, 202)와 동작 가능하게 결합되는 송수신기(106, 206)를 통해 다른 장치들로 신호 및 명령들을 송신 또는 수신하여 다른 장치들과 연동될 수 있다.
이와 관련하여, 도 5 및 도 6의 각 구성들은 메인 보드 상에 장착되는 하드웨어 블록 또는 칩(chip)에 해당할 수 있지만, 이에 한정되는 것은 아니고 각 구성들 중 일부는 소프트웨어 블록 또는 다른 칩 내에 일부 구성일 수도 있다.
도 5 및 도 6을 참조하면, 차량에서 시스템 교착 상태를 해소하기 위한 복원 장치(1000)는 복원 블록(recovery block)(1100), 데드락 매니저 블록(deadlock manager block)(1200) 및 중앙처리 장치(CPU)(1300)를 포함하도록 구성될 수 있다.
이와 관련하여, 전술한 각각의 기능 블록들과 CPU의 동작 특징에 대해 설명하면 다음과 같다. 복원 블록(recovery block)(1100)은 중앙 처리 장치(CPU)(1300) 이외의 다른 기능 블록과 시스템 버스와 연결되는 인터페이스 마다 구비될 수 있다. 복원 블록(1100)은 다른 기능 블록들과 시스템 버스 사이의 통신에서 명령들 및 응답에 대한 모니터링을 하며, 교착 상태가 발생하면 데드락 매니저 블록(1200)으로 발생 정보를 전송한다. 데드락 매니저 블록(1200)에서 교착 상태 해소 명령을 전송하면, 해당 기능 블록들과 시스템 버스 사이의 교착 상태가 해소될 수 있다.
교착 상태가 해소된 후에는 기능 블록들이 시스템 버스와 분리(isolation)되도록 제어할 필요가 있다.
데드락 매니저 블록(deadlock manager block)(1200)은 모든 복원 블록(1100)에서 전달되는 교착 상태 정보를 수집한다. 데드락 매니저 블록(1200)은 복원 블록(1100)에서 발생되어 전달된 교착 상태의 순서 정보를 관리하도록 구성될 수 있다. 데드락 매니저 블록(1200)은 복원 블록(1100)으로부터 교착 상태 정보가 전달되면 중앙처리 장치(CPU)(1300)에게 인터럽트를 통해 정보를 전달한다. 데드락 매니저 블록(1200)은 내부에 타이머를 구비하고 있으며, CPU(1300)가 특정 시간 내에 인터럽트를 처리할 수 있도록 대기한다.
내부 타이머가 완료될 때까지 CPU(1300)의 인터럽트 처리가 없다면, CPU(1300)가 교착상태로 빠진 것으로 판단하고 데드락 매니저 블록(1200)은 저장된 교착 상태 정보에 기초하여 교착 상태 해소를 수행할 수 있다. 이와 관련하여, 데드락 매니저 블록(1200)은 저장된 교착 상태 정보에 기초하여 정해진 정책에 따라 복원 블록(1100)에 교착 상태 해소 명령을 전송한다. 정해진 정책에 따라 교착 상태 시도가 실패한 경우, 시스템 전체 리셋을 통해 재부팅을 진행할 수도 있다.
데드락 매니저 블록(1200)에서 인터럽트 발생시, 중앙처리 장치(CPU)(1300)는 사전에 정해진 시스템 복원 서비스 루틴(system recovery service routine)을 수행한다. 시스템 복원 프로그램은 별도의 SRAM(1600)의 내부 공간에 저장될 수 있다. SRAM(1600)의 내부 공간에 저장된 시스템 복원 프로그램은 시스템 복원을 위해 리셋(reset)이 인가되더라도 프로그램이 유지되도록 관리될 수 있다. SRAM(1600)도 복원 블록(1130)을 통해 시스템 버스(BUS)와 동작 가능하게 결합될 수 있다.
전술한 동작 특징들과 관련하여, 본 명세서에서 청구하고자 하는 시스템 교착 상태를 해소하기 위한 복원 장치(1000)에 대해 상세하게 설명한다. 복원 블록(1100)은 시스템의 교착 상태 발생시 교착 상태 발생 신호를 생성하여 전송하도록 구성될 수 있다. 복원 블록(1100)은 교착 상태 발생 신호를 데드락 매니저 블록(1200)으로 전송할 수 있다. 또한, 복원 블록(1100)은 교착 상태 발생 신호를 복원 블록(1100)과 연결된 마스터 블록 또는 슬레이브 블록인 동작 블록(1400)으로 전송할 수도 있다. 동작 블록(1400)은 차량의 특정 동작 및 이에 대한 제어를 수행하는 하드웨어 블록 또는 칩일 수 있다.
동작 블록(1400)은 마스터 블록(1410a, 1410b) 및 슬레이브 블록(1420a, 1420b)을 포함하도록 구성될 수 있다. 마스터 블록(1410a, 1410b)은 각각의 복원 블록(1110a, 1110b)과 동작 가능하게 결합될 수 있다. 슬레이브 블록(1420a, 1420b)은 각각의 복원 블록(1120a, 1120b)과 동작 가능하게 결합될 수 있다. 마스터 블록(1410a, 1410b) 및 슬레이브 블록(1420a, 1420b) 각각은 특정 동작 또는 기능을 수행하는 IP(Intellectual Property) 블록과 프로세서가 탑재된 칩으로 구성될 수 있다.
중앙처리 장치(CPU)(1300)는 시스템 버스(BUS)와 동작 가능하게 결합될 수 있다. CPU(1300)는 데드락 매니저 블록(1200)으로부터 인터럽트를 수신하여 동작 상태에서 인터럽트를 클리어하도록 구성될 수 있다. 데드락 매니저 블록(1200)은 내부 타이머가 만료(expire) 시 CPU(1300)가 교착 상태인 것으로 판단할 수 있다. 데드락 매니저 블록(1200)은 복원 블록(1100)에 교착 상태 해소 명령을 전송하고 다시 내부 타이머를 동작되도록 제어할 수 있다.
교착 상태 해소 명령을 수신하면 복원 블록(1100)은 데드락 매니저 블록(1200)와 연동하여 교착 상태 해소 명령과 연관된 해당 인터페이스의 교착 상태가 해소하도록 제어할 수 있다. 이와 관련하여, 교착 상태 해소 명령과 연관된 해당 기능 블록이 시스템 버스(BUS)와 분리(isolation)되도록 제어할 수 있다.
복원 블록(1100)은 교착 상태 해소 명령과 연관된 특정 동작 블록에서 전송되는 신호 및 명령들이 시스템 버스(BUS)로 전달되지 않도록 제어할 수 있다. 이와 관련하여, 복원 블록(1100)은 교착 상태가 완전히 해소되기 전까지 교착 상태가 특정 동작 블록에서 전송되는 신호 및 명령들이 시스템 버스(BUS)로 전달되지 않도록 제어할 수 있다. 복원 블록(1100)은 데드락 매니저 블록(1200)과 연동하여 특정 동작 블록에서 전송되는 신호 및 명령들에 대한 응답 신호를 특정 동작 블록으로 전달할 수 있다. 다만, 복원 블록(1100)은 데드락 매니저 블록(1200)과 연동하여 수신된 신호 및 명령들이 시스템 버스(BUS)를 통해 다른 블록들로 전달되지 않도록 포트 구성을 할 수 있다.
교착 상태는 복수의 마스터 블록들 또는 슬레이브 블록들 중 어느 하나에서 검출될 수 있다. 교착 상태가 제1 마스터 블록(1410a)에서 발생된 경우, 교착 상태 해소 명령과 연관된 해당 기능 블록은 복수의 마스터 블록들 중 제1 마스터 블록(1410a)일 수 있다. 또는, 교착 상태 해소 명령과 연관된 해당 기능 블록은 마스터 블록(1400a)과 동작 가능하게 연결된 제1 복원 블록(1110a)일 수 있다.
제1 복원 블록(1110a) 및/또는 제1 마스터 블록(1410a)의 교착 상태가 해소되고 CPU(1300)가 동작 가능한 것으로 판단되면, CPU(1300)는 시스템 복원 서비스 루틴을 수행할 수 있다. 이에 따라, 시스템 교착 상태가 해소되어 CPU(1300)가 동작 가능한 것으로 판단되면, 데드락 매니저 블록(1200)의 인터럽트를 클리어할 수 있다. 이와 관련하여, CPU(1300)는 복수의 교착 상태들 중 어느 하나가 해소된 것으로 판단되면, 해소된 교착 상태에 대응하는 데드락 매니저 블록(1200)의 인터럽트만 클리어할 수 있다.
특정 블록의 교착 상태 해소에도 CPU(1300)는 여전히 교착 상태로 유지될 수 있다. 이와 관련하여, 제1 복원 블록(1110a)의 교착 상태가 해소되었지만 데드락 매니저 블록(1200)의 인터럽트가 클리어 되지 않고 데드락 매니저 블록(1200)의 내부 타이머가 다시 만료될 수 있다. 데드락 매니저 블록(1200)의 인터럽트가 클리어 되지 않고 내부 타이머가 다시 만료되면, 데드락 매니저 블록(1200)은 CPU(1300)가 여전히 교착 상태인 것으로 판단할 수 있다.
데드락 매니저 블록(1200)은 제2 교착 상태 신호가 전송된 제2 복원 블록(1110b)으로 제2 교착 상태 해소 명령을 전송하고, 다시 내부 타이머가 동작되게 제어할 수 있다. 제2 복원 블록(1110b)은 복수의 마스터 블록들 중 제2 마스터 블록(1410b)과 동작 가능하게 결합될 수 있다.
한편, 모든 복원 블록들로 교착 상태 해소 명령이 전송되었지만 여전히 교착 상태인 경우 시스템 복원 실패로 판단할 수 있다. CPU(1300)가 시스템 복원 서비스 루틴을 수행하는 것을 만료할 때까지, 데드락 매니저 블록(1200)은 복수의 교착 상태 해소 명령들을 복수의 복원 블록들(1100)로 전송하는 것을 반복할 수 있다. 데드락 매니저 블록(1200)은 교착 상태가 발생된 모든 복수의 복원 블록들(1110a, 1110b, 1120a, 1120b)에게 복수의 교착 상태 해소 명령들이 전송되면 시스템 복원 시도가 실패한 것으로 판단할 수 있다.
모든 마스터 블록 및 슬레이브 블록들로 복수의 해소 명령들이 전송된 이후에 시스템 복원 시도가 실패한 것으로 판단할 수 있다. 이와 관련하여, 데드락 매니저 블록(1200)은 교착 상태가 발생된 모든 복수의 마스터 블록들과 모든 복수의 슬레이브 블록들로 교착 상태 해소 명령들이 전송된 이후에도 CPU(1300)가 시스템 복원 서비스 루틴을 수행하는 것이 만료되지 않았는지 여부를 판단할 수 있다. 데드락 매니저 블록(1200)은 교착 상태 해소 명령들이 전송된 이후에도 CPU(1300)가 시스템 복원 서비스 루틴을 수행하는 것이 만료되지 않으면, 시스템 복원 시도가 실패한 것으로 판단할 수 있다.
시스템 복원 시도가 실패한 것으로 판단되면, 시스템 전체 리셋을 통하여 재부팅을 진행할 수 있다. 이와 관련하여, 데드락 매니저 블록(1200)은 시스템 복원 시도가 실패한 것으로 판단되면, 시스템 리셋 블록(1500)으로 시스템 리셋 명령을 전달할 수 있다. 이에 따라, 데드락 매니저 블록(1200)은 시스템 리셋 블록(1500)과 연동하여 전체 시스템의 모든 블록들에 대한 재부팅을 통해 모든 블록들에 대한 리셋을 수행할 수 있다.
전술한 각 구성들의 동작 특징과 관련하여 도 6 내지 도 7b을 참조하여 각 구성들 간에 동작 시퀀스에 대해 상세하게 설명하면 다음과 같다. 도 7a 및 도 7b은 본 명세서에 따른 시스템 교착 상태를 해소하는 복원 장치에서 수행되는 복원 방법의 동작 흐름도를 나타낸다.
도 7a를 참조하면, 시스템 교착 상태를 해소하는 복원 장치에서 수행되는 복원 방법은 교착 상태 발생 정보 전송 과정(S110), 인터럽트 전송 과정(S120), 인터럽트 처리 완료 대기 과정(S130) 및 인터럽트 클리어 과정(S140)을 포함할 수 있다. 복원 방법은 CPU 동작 상태 판단 과정(S135), 내부 타이머 만료 판단 과정(S150) 및 내부 타이머 구동 과정(S160)을 더 포함할 수 있다.
도 7b를 참조하면, 복원 방법은 교착 상태 해소 제어 과정(S170), 인터럽트 클리어 과정(S180), CPU 교착 상태 판단 과정(S190) 및 교착 상태 해소 명령 전송 과정(S200)을 더 포함할 수 있다. 복원 방법은 복원 시도 실패 판단 과정(S210) 및 전체 시스템 리셋 과정(S220)을 더 포함할 수 있다.
도 5 내지 도 7b를 참조하면, 복원 볼록(1110a)에서 교착 상태 발생시 데드락 매니저 블록(1200)로 발생 정보를 전송(S110)할 수 있다. 데드락 매니저 블록(1200)은 복원 볼록(1110a)으로부터 교착 상태 발생 신호를 받으면 CPU(1300)로 인터럽트를 전송(S120)할 수 있다. 데드락 매니저 블록(1200)은 내부 타이머를 구동하여 특정 시간 내에 CPU(1300)의 처리 완료를 대기(S130)할 수 있다. CPU 동작 상태 판단 과정(S135)에서 CPU(1300)가 동작 상태를 유지하고 있는 경우, 시스템 복원 서비스 루틴을 수행하고 데드락 매니저 블록(1200)의 인터럽트를 클리어(S140)할 수 있다.
CPU(1300)가 교착 상태로 빠진 경우, 데드락 매니저 블록(1200)의 인터럽트를 클리어하지 못하고 데드락 매니저 블록(1200)의 내부 타이머가 만료(S150)될 수 있다. 데드락 매니저 블록(1200)은 내부 타이머 만료 시 CPU가 교착 상태인 것으로 판단하고, 첫 번째 교착 상태 신호가 전송된 복원 볼록(1110a)에게 교착 상태 해소 명령을 전송하고 다시 내부 타이머를 구동(S160)시킬 수 있다.
복원 볼록(1110a)은 해당 인터페이스의 교착 상태를 해소하고 해당 기능 블록이 시스템 버스(BUS)와 분리(isolation)되도록 제어(S170)할 수 있다. 복원 볼록(1110a)의 교착 상태 해소로 CPU(1300)가 동작이 가능한 경우, 시스템 복원 서비스 루틴을 수행하고 데드락 매니저 블록(1200)의 인터럽트를 클리어(S180)할 수 있다.
복원 볼록(1110a)의 교착 상태 해소에도 CPU(1300)의 교착 상태가 유지되는 경우, 여전히 데드락 매니저 블록(1200)의 인터럽트를 클리어하지 못하고 데드락 매니저 블록(1200)의 내부 타이머가 다시 만료(S190)될 수 있다. 데드락 매니저 블록(1200)은 내부 타이머 만료 시 CPU(1300)가 여전히 교착 상태인 것으로 판단한다. 이에 따라, 그 다음 교착 상태 신호가 전송된 복원 블록(1120a)에게 교착 상태 해소 명령을 전송하고 다시 내부 타이머를 구동(S200)할 수 있다.
CPU(1300)가 시스템 복원 서비스 루틴을 수행할 때까지 S170 내지 S200의 과정을 반복할 수 있다. 이에 따라, 교착 상태 신호가 발생된 모든 복원 블록들에게 교착 상태 해소 명령이 전송되면 시스템 복원 시도가 실패한 것으로 판단(S210)할 수 있다. 시스템 복원 시도가 실패한 것으로 판단되면 시스템 리셋 블록(1500)을 통해 전체 시스템 리셋(reset)을 통하여 재부팅을 진행(S220)할 수 있다.
이하에서는 본 명세서에 따른 통신 시스템의 교착 상태를 해소하는 복원 장치에서 복원 블록들과 데드락 매니저 블록의 상세 구조에 대해 설명한다. 이와 관련하여, 도 8은 마스터 측 복원 블록의 상세 구조 및 데드락 매니저의 상세 블록을 나타낸다. 한편, 도 9는 도 8의 데드락 매니저를 통해 마스터 측 복원 블록과 연동되는 슬레이브 측 복원 블록의 상세 구조를 나타낸다.
도 8 및 도 9를 참조하면, 마스터 측 복원 블록과 슬레이브 측 복원 블록이 데드락 매니저 블록을 통해 연동되는 실시예를 나타내지만, 이에 한정되는 것은 아니다. 도 5 내지 도 9를 참조하면, 마스터 측 복원 블록들이 데드락 매니저 블록을 통해 연동될 수 있다. 또는 슬레이브 측 복원들이 데드락 매니저 블록을 통해 연동될 수 있다. 또는, 마스터 측 복원 블록 중 하나가 매니저 블록을 통해 CPU와 연동될 수 있다. 또는, 슬레이브 측 복원 블록 중 하나가 매니저 블록을 통해 CPU와 연동될 수 있다.
도 5 내지 도 9를 참조하면, 복원 블록은 복수의 마스터 블록들 중 특정 마스터 블록과 동작 가능하게 연결되는 마스터 복원 블록일 수 있다. 마스터 복원 블록(1110)은 명령 채널 및 응답 채널을 통해 특정 마스터 블록(1410)과 동작 가능하게 결합될 수 있다. 명령 채널은 특정 마스터 블록(1410)으로부터 명령을 수신하도록 구성될 수 있다. 응답 채널은 특정 마스터 블록(1410)으로 응답을 전송하도록 구성될 수 있다.
마스터 복원 블록(1110)은 명령 채널과 인터페이스 되는 제1 버퍼(1111a) 및 응답 채널과 인터페이스 되는 제2 버퍼(1111b)를 포함할 수 있다. 마스터 복원 블록(1110)은 가상 명령 생성 모듈(1112), 가상 응답 수신 모듈(1113) 및 데드락 클리어 제어 모듈(1114)을 포함하도록 구성될 수 있다. 가상 명령 생성 모듈(1112))은 제1 버퍼(1111a)와 동작 가능하게 결합되어 교착 상태 발생 신호를 생성하도록 구성될 수 있다. 가상 응답 수신 모듈(1113)은 제2 버퍼(1111b)와 동작 가능하게 결합되어 시스템 버스(BUS)로부터 수신되는 명령을 수신하도록 구성될 수 있다. 데드락 클리어 제어 모듈(1114)은 제1 버퍼(1111a) 및 제2 버퍼(1111b)와 동작 가능하게 결합될 수 있다. 데드락 클리어 제어 모듈(1114)은 데드락 매니저 블록(1200)에서 교착 상태 해소 명령과 연관된 제1 제어 명령들을 수신하도록 구성될 수 있다.
마스터 복원 블록(1110)은 명령 모니터 모듈(1115), 응답 모니터 모듈(1116) 및 데드락 검출 모듈(1117)을 더 포함하도록 구성될 수 있다. 명령 모니터 모듈(1115)은 제1 버퍼(1111a) 및 시스템 버스(BUS)와 동작 가능하게 결합될 수 있다. 명령 모니터 모듈(1115)은 명령 채널을 통해 전달되는 제어 명령들을 모니터하도록 구성될 수 있다. 응답 모니터 모듈(1116)은 제2 버퍼(1111b) 및 시스템 버스(BUS)와 동작 가능하게 결합될 수 있다. 응답 모니터 모듈(1116)은 응답 채널을 통해 전달되는 응답들을 모니터하도록 구성될 수 있다. 데드락 검출 모듈(1117)은 명령 모니터 모듈(1115) 및 응답 모니터 모듈(1116)과 동작 가능하게 결합될 수 있다. 데드락 검출 모듈(1117)은 시스템의 교착 상태를 검출하여 교착 상태 발생 신호를 데드락 매니저 모듈(1200)로 전달하도록 구성될 수 있다. 데드락 검출 모듈(1117)은 교착 상태 발생 신호를 데드락 매니저 모듈(1200)의 데드락 정보 모듈(1210)로 전달할 수 있다.
도 5 내지 도 9를 참조하면, 복원 블록은 복수의 마스터 블록들 중 특정 슬레이브 블록과 동작 가능하게 연결되는 슬레이브 복원 블록일 수 있다. 슬레이브 복원 블록(1120)은 명령 채널 및 응답 채널을 통해 시스템 버스(BUS)와 동작 가능하게 결합될 수 있다. 명령 채널은 시스템 버스(BUS)로부터 명령을 수신하도록 구성될 수 있다. 응답 채널은 시스템 버스(BUS)로 응답을 전송하도록 구성될 수 있다.
슬레이브 복원 블록(1120)은 명령 채널과 인터페이스 되는 제3 버퍼(1121a) 및 응답 채널과 인터페이스 되는 제4 버퍼(1121b)를 포함할 수 있다. 제3 버퍼(1121a) 및 제4 버퍼(1121b)는 특정 슬레이브 블록(1420)과 동작 가능하게 결합될 수 있다. 슬레이브 복원 블록(1120)은 가상 명령 수신 모듈(1122), 가상 응답 생성 모듈(1123) 및 데드락 클리어 제어 모듈(1124)을 포함하도록 구성될 수 있다. 가상 명령 수신 모듈(1122)은 제3 버퍼(1121a)와 동작 가능하게 결합되어 교착 상태 발생 신호와 연관된 제어 명령을 수신하도록 구성될 수 있다. 가상 응답 생성 모듈(1123)은 제4 버퍼(1121b)와 동작 가능하게 결합되어 교착 상태 발생 신호와 연관된 응답을 생성하도록 구성될 수 있다. 데드락 클리어 제어 모듈(1124)은 제3 버퍼(1121a) 및 제4 버퍼(1121b)와 동작 가능하게 결합될 수 있다. 데드락 클리어 제어 모듈(1124)은 데드락 매니저 블록(1200)으로 교착 상태 해소 명령과 연관된 제2 제어 명령들을 수신하도록 구성될 수 있다.
슬레이브 복원 블록(1120)은 명령 모니터 모듈(1125), 응답 모니터 모듈(1126) 및 데드락 검출 모듈(1127)을 더 포함하도록 구성될 수 있다. 명령 모니터 모듈(1125)은 제3 버퍼(1121a) 및 시스템 버스(BUS)와 동작 가능하게 결합될 수 있다. 명령 모니터 모듈(1125)은 명령 채널을 통해 전달되는 제어 명령들을 모니터하도록 구성될 수 있다. 응답 모니터 모듈(1126)은 제4 버퍼(1121b) 및 시스템 버스(BUS)와 동작 가능하게 결합될 수 있다. 응답 모니터 모듈(1126)은 응답 채널을 통해 전달되는 응답들을 모니터하도록 구성될 수 있다. 데드락 검출 모듈(1127)은 명령 모니터 모듈(1125) 및 응답 모니터 모듈(1126)과 동작 가능하게 결합될 수 있다. 데드락 검출 모듈(1127)은 시스템의 교착 상태를 검출하여 교착 상태 발생 신호를 데드락 매니저 모듈(1200)로 전달하도록 구성될 수 있다. 데드락 검출 모듈(1117)은 교착 상태 발생 신호를 데드락 매니저 모듈(1200)의 데드락 정보 모듈(1210)로 전달할 수 있다.
도 5 내지 도 8을 참조하면, 데드락 매니저 모듈(1200)은 데드락 정보 모듈(1210) 및 데드락 클리어 제어 모듈(1220)을 포함하도록 구성될 수 있다. 데드락 정보 모듈(1210)은 마스터 복원 블록(1110)의 데드락 검출 모듈(1117)로부터 교착 상태 발생 신호를 수신하도록 구성될 수 있다. 데드락 정보 모듈(1210)은 슬레이브 복원 블록(1120)의 데드락 검출 모듈(1127)로부터 교착 상태 발생 신호를 수신하도록 구성될 수 있다.
데드락 클리어 제어 모듈(1220)은 교착 상태 해소 명령과 연관된 제어 명령들을 마스터 복원 블록(1110)의 데드락 클리어 제어 모듈(1114)로 전달하도록 구성될 수 있다. 데드락 클리어 제어 모듈(1220)은 데드락 클리어와 연관된 제2 제어 명령들을 슬레이브 복원 블록(1120)의 데드락 클리어 제어 모듈(1124)로 전달하도록 구성될 수 있다.
이상에서는 본 명세서의 일 양상에 따른 시스템 교착 상태를 해소하는 동작 및 이를 수행하는 복원 장치에 대해 설명하였다. 이하에서는, 본 명세서의 다른 양상에 따른 시스템 교착 상태를 해소하는 동작 및 이를 수행하는 복원 방법에 대해 설명한다.
도 10은 본 명세서에 따른 시스템 교착 상태를 해소하는 복원 방법의 흐름도를 나타낸다. 도 10을 참조하면, 복원 방법은 데드락 모니터링 과정(S1010), 교착 상태 판단 과정(S1020), 교착 상태 발생 신호 전달 과정(S1030), 인터럽트 전달 과정(S1050), 교착 상태 해소 명령 전송 과정(S1110) 및 교착 상태 해소 과정(S1120)을 포함하도록 구성될 수 있다. 복원 방법은 데드락 모니터링 과정(S1010)의 이전에 시스템 초기화(S910) 및 CPU 동작 과정(S910)을 더 포함할 수 있다.
도 5 내지 도 10을 참조하여, 시스템 교착 상태를 해소하는 복원 방법에 대해 상세하게 설명한다. 시스템 리셋 수행 과정(S1220)이 수행된 이후 시스템 초기화(S910)를 통해 시스템이 초기화하는 동작이 수행될 수 있다. 시스템 초기화(S910)는 시스템의 전체 구성들에 의해 수행될 수 있고, 시스템 리셋 블록(1500)과 연동되는 모든 구성들 및 이와 연동되는 다른 구성들까지 초기화될 수 있다. 시스템 초기화(S910)가 수행된 이후 CPU 동작 과정(S910)에서 CPU가 부트 완료 후 다른 구성들과 연동되어 CPU(1300)의 동작이 수행될 수 있다.
데드락 모니터링 과정(S1010)에서 복원 블록(recovery block)(1100)이 시스템의 교착 상태 발생을 모니터링할 수 있다. 교착 상태 판단 과정(S1020)을 통해 복원 블록(1100)으로부터 데드락 매니저 블록(1200)은 교착 상태 발생 신호를 수신하여 시스템의 교착 상태가 발생하였는지를 판단할 수 있다. 이와 관련하여, CPU 교착 상태를 유발시킬 수 있는 모든 경로(path)에 대해 복원 블록(1100)에서 교착 상태 발생 여부를 모니터링하여 판단할 수 있다. 시스템의 교착 상태 발생시 교착 상태 발생 신호 전달 과정(S1030)에서 복원 블록(1100)이 교착 상태 발생 신호를 생성하여 데드락 매니저 블록(1200)으로 전달할 수 있다.
인터럽트 전달 과정(S1050)을 통해, 복원 블록(1100)으로부터 교착 상태 발생 신호를 수신하면, 데드락 매니저 블록(1200)이 인터럽트를 중앙처리 장치(CPU)(1300)로 전달할 수 있다 복원 블록(1100)에서 교착 상태 검출 정보가 전달되면, 데드락 매니저 블록(1200)이 교착 상태 상황을 알리기 위해 CPU로(1300) 인터럽트를 전달하는 과정이다.
교착 상태 해소 명령 전송 과정(S1110)을 통해, 데드락 매니저 블록(1200)은 내부 타이머가 만료 시 CPU(1300)가 교착 상태인 것으로 판단하고, 복원 블록(1100)에 교착 상태 해소 명령을 전송할 수 있다. 데드락 매니저 블록(1200)에 수집되어 취합된 교착 상태 발생 위치에 모두 데드락 클리어 명령이 전달되었는지 여부에 따라 진행될 수 있다. 모든 교착 상태 발생 위치에 데드락 클리어를 시도했음에도 교착 상태가 해소가 안되는지를 확인하기 위한 것이다.
교착 상태 해소 과정(S1120)을 통해, 교착 상태 해소 명령을 수신하면 복원 블록(1100)은 교착 상태 해소 명령과 연관된 해당 인터페이스의 교착 상태가 해소되도록 제어할 수 있다. 또한, 교착 상태 해소 명령과 연관된 해당 기능 블록이 상기 시스템 버스와 분리(isolation)되도록 제어할 수 있다. 이와 관련하여, 데드락 매니저 블록(1200)에 수집되어 취합된 교착 상태 발생 위치 중 먼저 발생된 순서대로 클리어 명령을 전달할 수 있다. 먼저 발생된 순서대로 클리어 명령을 전달하는 이유는 교착 상태 발생과 관련하여 최초 유발 인자가 해소되면 나머지 유발 인자들도 자연스럽게 해소될 가능성이 높기 때문이다.
한편, 교착 상태 발생 신호 전달 과정(S1030)의 이후, 복원 방법은 교착 상태 발생 정보 수집 과정(S1040)을 더 수행할 수 있다. 교착 상태 발생 정보 수집 과정(S1040)에서 교착 상태가 발생한 발생 위치 및 발생 순서에 관한 정보가 수집될 수 있다.
한편, 인터럽트 전달 과정(S1050)의 이후, 복원 방법은 내부 타이머 카운팅 과정(S1060), 내부 타이머 만료 판단 과정(S1070) 및 교착 해소 명령 전송 완료 판단 과정(S1080)을 더 포함할 수 있다. 내부 타이머 카운팅 과정(S1060)에서 데드락 매니저 블록(1200)은 내부 타이머가 동작되게 제어하고 타이머가 만료될 때까지 타이머 유효 시간을 카운트할 수 있다. 데드락 매니저 블록(1200)에 의해 교착 상태 상황 해소 여부 판단을 위한 내부 타이머가 동작될 수 있다.
내부 타이머 만료 판단 과정(S1070)에서 데드락 매니저 블록(1200)의 내부 타이머를 카운트하고 타이머 만료 시간과 비교하여 내부 타이머가 만료되었는지를 판단할 수 있다 내부 타이머 만료 판단 과정(S1070)을 통해 내부 타이머가 만료될 때까지 교착 상태가 해소되었는지 여부가 판단될 수 있다. 교착 해소 명령 전송 완료 판단 과정(S1080)에서 발생 순서에 따라 모든 발생 위치들로 교착 상태 해소 명령들이 전송되었는지를 판단할 수 있다.
한편, 인터럽트 전달 과정(S1050)이 수행된 이후, 복원 방법은 교착 상태 해소 판단 과정(S1310) 및 인터럽트 클리어 과정(S1320)을 더 포함할 수 있다. 이와 관련하여, 내부 타이머 만료 판단 과정(S1070)에서 내부 타이머가 만료되기 전에 교착 상태 해소 판단 과정(S1310)이 수행될 수 있다. 교착 상태 해소 판단 과정(S1310)에서 복원 블록의 교착 상태가 해소되고 CPU가 동작 가능한지 여부를 판단할 수 있다. 이와 관련하여, CPU의 교착 상태가 해소되었는지가 판단될 수 있다. 구체적으로, 내부 타이머가 만료되기 전에 교착 상태 상황이 해소되었는지에 따라 내부 타이머를 다시 카운팅 할 지 또는 CPU가 인터럽트를 클리어할 지가 진행될 수 있다. 교착 상태 상황 해소 여부는 복원 블록(1100)에서 전달되는 신호 또는 CPU가 교착 상태 해소 이후의 정보 전달을 통해 확인될 수 있다.
복원 블록(1100)의 교착 상태가 해소되고 CPU(1300)가 동작 가능한 것으로 판단되면, 인터럽트 클리어 과정(S1320)에서 CPU(1300)는 시스템 복원 서비스 루틴을 수행할 수 있다. 이에 따라, CPU(1300)는 데드락 매니저 블록(1200)의 인터럽트를 클리어할 수 있다.
교착 상태가 발생한 해당 기능 블록은 복수의 마스터 블록들 중 제1 마스터 블록(1410a)과 동작 가능하게 연결된 제1 복원 블록(1110a)일 수 있다. 한편, 교착 상태 해소 판단 과정(S1310)에서, 데드락 매니저 블록(1200)은 제1 복원 블록(1110a)의 교착 상태가 해소되었지만 데드락 매니저 블록(1200)의 인터럽트가 클리어 되지 않았는지에 따라 이후 동작을 수행할 수 있다. 데드락 매니저 블록(1200)의 인터럽트가 클리어 되지 않고 데드락 매니저 블록(1200)의 내부 타이머가 다시 만료되면 CPU(1300)가 여전히 교착 상태인 것으로 판단할 수 있다. 이에 따라, 제2 교착 상태 신호가 전송된 제2 복원 블록(1110b)으로 제2 교착 상태 해소 명령을 전송하고, 다시 내부 타이머가 동작되게 제어할 수 있다. 한편, 제2 복원 블록(1110b)은 복수의 마스터 블록들 중 제2 마스터 블록(1410b)과 동작 가능하게 결합될 수 있다. 다른 예로, 제2 교착 상태 신호는 다른 슬레이브 블록, 예를 들어 제1 슬레이브 블록(1420a)에서 발생된 제2 교착 상태가 검출되어 생성될 수 있다. 이에 따라, 제1 슬레이브 블록(1420a)과 제2 복원 블록(1120a)이 동작 가능하게 결합될 수 있다.
교착 상태 해소 명령 전송 과정(S1110)에서, CPU(1300)가 시스템 복원 서비스 루틴을 수행하는 것을 완료할 때까지, 데드락 매니저 블록(1200)은 복수의 교착 상태 해소 명령들을 복수의 복원 블록들로 전송하는 것을 반복할 수 있다. 교착 해소 명령 전송 완료 판단 과정(S1080)에서, 데드락 매니저 블록(1200)은 교착 상태가 발생된 모든 복수의 복원 블록들에게 복수의 교착 상태 해소 명령들이 전송되면 시스템 복원 시도가 실패한 것으로 판단할 수 있다.
전술한 바와 같이, 교착 상태 발생 신호 전달 과정(S1030)의 이후, 교착 상태가 발생한 발생 위치 및 발생 순서에 관한 정보를 수집하는 교착 상태 발생 정보 수집 과정(S1040)이 수행될 수 있다. 한편, 인터럽트 전달 과정(S1050)의 이후, 데드락 매니저 블록(1200)의 내부 타이머를 카운트하여 내부 타이머가 만료되었는지를 판단하는 내부 타이머 만료 판단 과정(S1070)이 수행될 수 있다. 또한, 발생 순서에 따라 모든 발생 위치들로 교착 상태 해소 명령들이 전송되었는지를 판단하는 교착 해소 명령 전송 완료 판단 과정(S1080)이 더 수행될 수 있다.
교착 상태 해소 과정(S1120)이 수행된 이후, 교착 상태 해소 판단 과정(S1310)에서 CPU(1300)가 동작 가능할 때까지 내부 타이머 만료 판단 과정(S1070)이 반복적으로 수행될 수 있다. 내부 타이머 만료 판단 과정(S1070)에서 CPU의 교착 상태가 해소되지 않은 상태에서 내부 타이머가 만료된 것으로 판단되면, 교착 해소 명령 전송 완료 판단 과정(S1080)이 수행될 수 있다. 교착 해소 명령 전송 완료 판단 과정(S1080)에서 교착 상태가 발생한 모든 발생 위치들로 교착 상태 해소 명령들이 전송되었는지를 판단할 수 있다.
한편, 교착 해소 명령 전송 완료 판단 과정(S1080)에서 해소 명령의 전송이 완료된 경우 복원 방법은 시스템 리셋 명령 전달 과정(S1210) 및 시스템 리셋 수행 과정(S1220)을 더 수행할 수 있다. 교착 상태가 발생한 모든 발생 위치들로 교착 상태 해소 명령들이 전송된 것으로 판단되면, 시스템 리셋 명령 전달 과정(S1210)에서 시스템 리셋 블록(1500)으로 시스템 리셋 명령을 전달할 수 있다. 시스템 리셋 블록(1500)으로 시스템 리셋 명령을 전달하여, 시스템 리셋 수행 과정(S1220)에서 전체 시스템의 모든 블록들에 대한 재부팅을 통해 모든 블록들에 대한 리셋을 수행할 수 있다.
한편, 본 명세서에 따른 시스템 교착 상태를 해소하는 복원 장치는 차량에 탑재될 수 있다. 이와 관련하여, 도 11은 본 명세서에 따른 복원 장치와 연동하는 차량의 구성을 나타낸다. 도 11을 참조하면, 안테나 모듈과 송수신기를 통해 주변 전자 기기, 차량 및 인프라 구조와 통신을 수행할 수 있다.
도 4 및 도 11을 참조하면, 차량(500)의 프로세서(570)가 본 명세서에 따른 차량의 내부 시스템의 교착 상태를 해소하는 복원 장치(100)로 구성될 수 있다. 이와 관련하여, 프로세서(570)는 CAN(Car Area Network) 또는 ADAS(Advanced Driving Assistance System)의 프로세서일 수 있지만, 이에 한정되는 것은 아니다. 차량(500)이 분산 제어 방식으로 구현 시 차량(500)의 프로세서(570)는 각 장치의 프로세서로 대체될 수 있다.
도 11을 참조하면, 차량에 안테나 모듈(1000a)이 탑재되고, 안테나 모듈(1000a)은 자체적으로 또는 도 4의 통신 장치(400)를 통해 근거리 통신, 무선 통신 및 V2X 통신 등을 수행할 수 있다. 도 4의 통신 장치(400)는 도 11의 송수신부 회로(1250) 및 기저대역 프로세서(1400)로 구현되거나 또는 별도의 통신 모듈 또는 하드웨어 칩으로 구현될 수 있다. 기저대역 프로세서(1400)는 안테나 모듈(1000a)을 통해 인접 차량, RSU 및 기지국으로부터 신호를 수신하거나 이들로 신호를 송신하도록 제어할 수 있다.
기저대역 프로세서(1400)는 통신 장치(400)를 통해 인접 차량, RSU, 인접 사물 및 기지국으로부터 신호를 수신하거나 이들로 신호를 송신하도록 제어할 수 있다. 여기서, 인접 사물에 대한 정보는 차량(500)의 카메라(531), 레이다(532), 라이다(533), 센서(534, 535) 등의 오브젝트 검출 장치(520)를 통해 획득될 수 있다. 기저대역 프로세서(1400)는 통신 장치(400)와 안테나 모듈(1000a)을 통해 인접 차량, RSU, 인접 사물 및 기지국으로부터 신호를 수신하거나 이들로 신호를 송신하도록 제어할 수 있다. 시스템 교착 상태를 복원하는 복원 장치(1000)는 시스템 버스(BUS)를 통해 오브젝트 검출 장치(520)와 연동될 수 있다. 복원 장치(1000)는 시스템 버스(BUS)를 통해 내비게이션 시스템(550), 센싱부(561), 인터페이스부(562), 메모리(563), 전원 공급부(564) 또는 차량 제어 장치(565) 중 적어도 하나와 연동될 수 있다.
도 1 내지 도 11을 참조하면, 안테나 모듈(1000a)을 구비하는 차량(500)은 복수의 안테나들(1100), 송수신부 회로(1250) 및 기저대역 프로세서(1400)를 포함하도록 구성 가능하다. 한편, 차량(500)은 오브젝트 검출 장치(520)를 더 포함할 수 있다. 또한, 차량(500)은 통신 장치(400)를 더 포함할 수 있다. 여기서, 통신 장치(400)은 안테나 모듈을 통해 무선 통신을 수행하도록 구성될 수 있다.
차량(500)은 안테나 모듈(1000a)을 구비할 수 있다. 안테나 모듈(1000a)은 프로세서를 통해 인접 차량, RSU (Road Side Unit) 및 기지국 중 적어도 하나와 통신하도록 구성될 수 있다. 안테나 모듈(1000a)은 차량에서 무선 통신을 통해 텔레매틱스 동작을 수행하므로 텔레매틱스 모듈로 지칭될 수도 있다.
송수신부 회로(1250)는 안테나 모듈(1000a)과 동작 가능하게 결합되어 도 2의 다른 무선 장치들과 무선 통신을 수행할 수 있다. 프로세서(1400)는 송수신부 회로(1250)와 동작 가능하게 결합될 수 있다. 프로세서(1400)는 모뎀(modem)에 해당하는 기저대역 프로세서일 수 있지만, 이에 한정되는 것은 아니고 송수신부 회로(1250)를 제어하는 임의의 프로세서일 수 있다. 차량의 프로세서(1400)는 NAD (Network Access Device)로 구현될 수 있고 무선 통신 제어 소자로 지칭될 수 있다.
프로세서(1400)는 송수신부 회로(1250)와 동작 가능하게 결합되고, 송수신부 회로(1250)를 제어하도록 구성될 수 있다. 프로세서(1400)는 송수신부 회로(1250)를 제어하여, 안테나 모듈(1000a) 내의 제1 내지 제4 안테나(ANT1 내지 ANT4)로 전달되는 신호의 크기 및/또는 위상을 제어하거나 일부 안테나만 동작하도록 제어할 수 있다. 프로세서(1400)는 송수신부 회로(1250)를 통해 인접 차량, RSU (Road Side Unit) 및 기지국 중 적어도 하나와 통신하도록 구성될 수 있다.
한편, 자율 주행 등을 위해 인접 차량, RSU, 기지국 등 다양한 엔티티로부터 동시에 정보를 수신하거나 송신할 필요가 있는 경우, 다중 입출력(MIMO)을 통해 정보를 수신 및 송신할 수 있다. 따라서, 차량은 다양한 엔티티로부터 동시에 서로 다른 정보를 수신하여 통신 용량을 향상시킬 수 있다. 이에 따라, 차량에서 대역폭의 확장 없이도 MIMO 동작을 통해 통신 용량을 향상시킬 수 있다.
대안으로, 차량은 다양한 엔티티로부터 동시에 동일한 정보를 동시에 수신하여 주변 정보에 대한 신뢰성을 향상시키고 레이턴시를 감소시킬 수 있다. 이에 따라, 차량에서 URLLC (Ultra Reliable Low Latency Communication) 통신이 가능하고 차량은 URLLC UE로 동작할 수 있다. 이를 위해, 스케줄링을 수행하는 기지국은 URLLC UE로 동작하는 차량을 위해 시간 슬롯을 우선적으로 할당할 수 있다. 이를 위해 이미 다른 UE에게 할당된 특정 시간-주파수 자원 중 일부를 펑처링(puncturing)할 수 있다.
안테나 모듈(1000a) 내의 4G/5G 통신을 위한 복수의 안테나들(ANT1 내지 ANT4)은 저 대역(LB), 중 대역(MB) 및 고 대역(HB)의 전 대역에서 동작할 수 있다. 여기서, 저 대역(LB)을 제1 (주파수) 대역으로 지칭하고 중 대역(MB) 및 고 대역(HB)을 제2 (주파수) 대역으로 지칭할 수 있다. 다른 예로, 안테나 시스템(1000)이 중 대역(MB) 및 고 대역(HB)에서 동작하는 경우 중 대역(MB)을 제1 (주파수) 대역으로 지칭하고 고 대역(HB)을 제2 (주파수) 대역으로 지칭할 수 있다. 5G Sub6 대역은 LTE re-farming의 경우 LTE 대역과 동일 대역일 수 있다. 5G NR이 LTE와 별도의 대역에서 동작하는 경우 고 대역(HB) 또는 이보다 높은 대역에서 동작할 수 있다. 고 대역(HB) 또는 이보다 높은 대역에서 동작하는 5G Sub6 대역도 제2 (주파수) 대역으로 지칭할 수 있다.
기저대역 프로세서(1400)는 제1 주파수 대역에서 복수의 안테나들(ANT1 내지 ANT4) 중 둘 이상을 통해 다중 입출력(MIMO)을 수행할 수 있다. 또한, 기저대역 프로세서(1400)는 제2 주파수 대역에서 복수의 안테나들(ANT1 내지 ANT4) 중 둘 이상을 통해 다중 입출력(MIMO)을 수행할 수 있다. 이와 관련하여, 상호 간에 충분한 거리로 이격되고 소정 각도로 회전된 상태로 배치된 안테나 소자들을 이용하여 다중 입출력(MIMO)을 수행할 수 있다. 이에 따라, 동일 대역 내의 제1 신호 및 제2 신호 간의 격리도(isolation)을 향상시킬 수 있다.
기저대역 프로세서(1400)는 제1 안테나(ANT1) 내지 제4 안테나 (ANT4) 중 어느 하나를 통해 제1 대역의 제1 신호를 수신하면서 제2 대역의 제2 신호를 수신하도록 송수신부 회로(1250)를 제어할 수 있다. 이 경우, 하나의 안테나를 통해 반송파 집성(carrier aggregation, CA)을 수행할 수 있다는 장점이 있다.
대안으로, 기저대역 프로세서(1400)는 제1 안테나(ANT1) 및 제3 안테나(ANT3) 중 어느 하나를 통해 제2 대역의 제1 신호를 수신하면서 제2 안테나(ANT2) 및 제4 안테나(ANT4) 중 어느 하나를 통해 제2 대역의 제1 신호를 수신하도록 송수신부 회로(1250)를 제어할 수 있다. 이 경우, 각각의 안테나들을 해당 대역에서 최적화되도록 설계하고 동작하도록 구현할 수 있다는 장점이 있다.
따라서, 기저대역 프로세서(1400)는 제1 주파수 대역과 제2 주파수 대역이 결합된 대역을 통해 반송파 집성(CA: Carrier Aggregation)을 수행할 수 있다. 이에 따라, 본 발명에서는 자율 주행 등을 위해 대용량의 데이터를 수신할 필요가 있는 경우, 반송파 집성을 통해 광대역 수신이 가능하다는 장점이 있다.
이에 따라, 차량은 eMBB (Enhanced Mobile Broad Band) 통신이 가능하고 차량은 eMBB UE로 동작할 수 있다. 이를 위해, 스케줄링을 수행하는 기지국은 eMBB UE로 동작하는 차량을 위해 광대역 주파수 자원을 할당할 수 있다. 이를 위해 이미 다른 차량에게 할당된 주파수 자원을 제외하고 여유 있는 주파수 대역들에 대한 반송파 집성(CA)이 수행될 수 있다.
주파수 대역과 관련하여, 저대역(low band, LB), 중대역(mid band, MB) 및 고대역(high band, HB)에 해당하는 대역을 각각 제1 대역, 제2 대역 및 제3 대역으로 지칭할 수 있다. 안테나 시스템(1000)은 저대역(low band, LB), 중대역(mid band, MB) 및 고대역(high band, HB)에 해당하는 제1 대역, 제2 대역 및 제3 대역에서 단일 안테나로 동작할 수 있다. 이와 관련하여, 프로세서(1400)는 PDCCH (physical downlink control channel)을 통해 할당된 자원 영역을 판단할 수 있다. 프로세서(1400)는 할당된 자원 영역에 기반하여, 제1 대역 내지 제3 대역 중 둘 이상의 대역에서 반송파 집성(carrier aggregation)을 수행하도록 송수신부 회로(1250)를 제어할 수 있다.
프로세서(1400)는 제1 안테나(ANT1) 내지 제4 안테나(ANT4)를 통해 EN-DC 상태에서 다중 입출력(MIMO)을 수행할 수 있다. 일 예로, 제1 안테나(ANT1) 및 제2 안테나(ANT2)를 통해 EN-DC 동작을 수행하고, 제3 안테나(ANT3) 및 제4 안테나(ANT4)를 통해 다중 입출력(MIMO)을 수행할 수 있다.
이와 관련하여, 4G/5G 통신 시스템 및 WiFi 통신 시스템 간 다른 대역을 이용하여 EN-DC 동작이 수행되면, 하나의 안테나 시스템 내의 복수의 안테나를 통해 EN-DC 동작을 수행할 수 있다. 이에 따라, 동일 대역을 사용하는 MIMO 스트림 간에 간섭 수준을 저감할 수 있다. 반면에, 4G/5G 통신 시스템 간 동일 대역을 이용하여 EN-DC 동작이 수행되면, 다른 안테나 시스템 내의 복수의 안테나를 통해 EN-DC 동작을 수행할 수 있다. 이 경우, 저대역(LB)에서의 간섭 수준을 저감하기 위해, 동일 안테나 시스템 내의 복수의 안테나를 통한 MIMO 동작은 중대역(MB) 이상에서 수행될 수 있다.
이상에서는 시스템 교착 상태를 해소하는 복원 장치 및 방법에 대해 설명하였다. 이와 같은 시스템 교착 상태를 해소하는 복원 장치 및 방법의 기술적 효과에 대해 설명하면 다음과 같다.
본 명세서에 따르면, 또한 시스템 전체가 초기화되기 때문에 이전 동작과의 연속성이 손실되어 전체 시나리오 동작을 다시 수행해야 되는 문제를 해결할 수 있다.
본 명세서에 따르면, 교착 상태로 인해 시스템이 초기화될 경우, 이전 동작과의 연속성을 최대한 보존할 수 있다.
본 명세서에 따르면, 전체 동작 수행 중 중간 상태를 특정 주기마다 저장함에 따라 저장 공간에 대한 자원 문제로 인해 보존되는 정보량이 제한되어 동작의 연속성을 유지하기 어려운 이슈를 해결할 수 있다.
본 명세서에 따르면, 중간 상태 저장 과정이 중앙 처리 정치의 오버헤드를 늘어나게 하는 이슈를 해결할 수 있다.
본 명세서에 따르면, 시스템 전체 리셋을 수행하지 않고, 중앙 처리 장치가 시스템 복구를 시도할 수 있도록 자체적으로 중앙 처리 장치가 교착 상태로 빠지지 않도록 보호할 수 있다.
본 명세서에 따르면, 교착 상태의 원인을 파악할 수 있도록 정보를 제공하는 방안을 제안할 수 있다.
본 명세서에 따르면, 종래의 시스템 전체 초기화 방식이 아닌 중앙 처리 장치를 통해 시스템 복구가 가능하다면, 동작의 연속성이 보존되며 시스템 초기화로 인한 기능 손실 구간을 최소화할 수 있다.
본 발명의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 발명의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 발명의 바람직한 실시 예와 같은 특정 실시 예는 단지 예시로 주어진 것으로 이해되어야 한다.
전술한 본 발명과 관련하여, 차량에서 시스템 교착 상태를 해소하기 위한 복원 장치와 이에 대한 제어 동작은 소프트웨어, 펌웨어 또는 이들의 조합으로 이루어질 수 있다. 한편, 차량에서 시스템 교착 상태를 해소하기 위한 복원 장치와 이에 대한 제어 동작을 수행하는 구성은 프로그램이 기록된 매체에 컴퓨터가 판독할 수 있는 코드로서 구현하는 것이 가능하다.
컴퓨터가 판독할 수 있는 매체는, 컴퓨터 시스템에 의하여 판독될 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 단말 또는 차량의 제어부, 즉 프로세서를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (20)

  1. 차량에서 시스템 교착 상태를 해소하기 위한 복원 장치에 있어서,
    시스템의 교착 상태 발생시 교착 상태 발생 신호를 생성하여 전송하는 복원 블록(recovery block);
    상기 복원 블록으로부터 상기 교착 상태 발생 신호를 수신하면 인터럽트를 전송하고, 내부 타이머를 동작하여 특정 동작의 처리를 만료하도록 대기하는 데드락 매니저 블록(deadlock manager block); 및
    시스템 버스와 동작 가능하게 결합되고, 상기 데드락 매니저 블록으로부터 상기 인터럽트를 수신하여 동작 상태에서 상기 인터럽트를 클리어하도록 구성된 중앙처리 장치(CPU)를 포함하고,
    상기 데드락 매니저 블록은 상기 내부 타이머가 만료 시 상기 CPU가 교착 상태인 것으로 판단하고, 상기 복원 블록에 교착 상태 해소 명령을 전송하고,
    상기 교착 상태 해소 명령을 수신하면 상기 복원 블록은 상기 교착 상태 해소 명령과 연관된 해당 인터페이스의 교착 상태를 해소하고, 상기 교착 상태 해소 명령과 연관된 해당 기능 블록이 상기 시스템 버스와 분리(isolation)되도록 제어하는, 복원 장치.
  2. 제1 항에 있어서,
    상기 해당 기능 블록은 복수의 마스터 블록들 중 제1 마스터 블록과 동작 가능하게 연결된 제1 복원 블록이고,
    상기 제1 복원 블록의 교착 상태가 해소되고 상기 CPU가 동작 가능한 것으로 판단되면, 상기 CPU는 시스템 복원 서비스 루틴을 수행하고 상기 데드락 매니저 블록의 인터럽트를 클리어하는, 복원 장치.
  3. 제2 항에 있어서,
    상기 데드락 매니저 블록은,
    상기 제1 복원 블록의 교착 상태가 해소되었지만 상기 데드락 매니저 블록의 인터럽트가 클리어 되지 않고 상기 데드락 매니저 블록의 내부 타이머가 다시 만료되면 상기 CPU가 여전히 교착 상태인 것으로 판단하고,
    제2 교착 상태 신호가 전송된 제2 복원 블록으로 제2 교착 상태 해소 명령을 전송하고, 다시 내부 타이머가 동작되게 제어하고,
    상기 제2 복원 블록은 상기 복수의 마스터 블록들 중 제2 마스터 블록과 동작 가능하게 결합되는, 복원 장치.
  4. 제3 항에 있어서,
    상기 CPU가 시스템 복원 서비스 루틴을 수행하는 것을 만료할 때까지, 상기 데드락 매니저 블록은 복수의 교착 상태 해소 명령들을 복수의 복원 블록들로 전송하는 것을 반복하고,
    상기 데드락 매니저 블록은,
    교착 상태가 발생된 모든 상기 복수의 복원 블록들에게 상기 복수의 교착 상태 해소 명령들이 전송되면 시스템 복원 시도가 실패한 것으로 판단하는, 복원 장치.
  5. 제4 항에 있어서,
    상기 데드락 매니저 블록은,
    교착 상태가 발생된 모든 복수의 마스터 블록들과 모든 복수의 슬레이브 블록들로 교착 상태 해소 명령들이 전송된 이후에도 상기 CPU가 시스템 복원 서비스 루틴을 수행하는 것이 만료되지 않으면, 상기 시스템 복원 시도가 실패한 것으로 판단하는, 복원 장치.
  6. 제4 항에 있어서,
    상기 데드락 매니저 블록은,
    상기 시스템 복원 시도가 실패한 것으로 판단되면, 시스템 리셋 블록으로 시스템 리셋 명령을 전달하여 전체 시스템의 모든 블록들에 대한 재부팅을 통해 상기 모든 블록들에 대한 리셋을 수행하는, 복원 장치.
  7. 제1 항에 있어서,
    상기 복원 블록은 복수의 마스터 블록들 중 특정 마스터 블록과 동작 가능하게 연결되는 마스터 복원 블록이고,
    상기 마스터 복원 블록은 상기 특정 마스터 블록으로부터 명령을 수신하는 명령 채널 및 상기 특정 마스터 블록으로 응답을 전송하는 응답 채널을 통해 상기 특정 마스터 블록과 동작 가능하게 결합되는, 복원 장치.
  8. 제7 항에 있어서,
    상기 마스터 복원 블록은,
    상기 명령 채널과 인터페이스 되는 제1 버퍼 및 상기 응답 채널과 인터페이스 되는 제2 버퍼;
    상기 제1 버퍼와 동작 가능하게 결합되어 교착 상태 발생 신호를 생성하는 가상 명령 생성 모듈;
    상기 제2 버퍼와 동작 가능하게 결합되어 상기 시스템 버스로부터 수신되는 명령을 수신하는 가상 응답 수신 모듈; 및
    상기 제1 버퍼 및 상기 제2 버퍼와 동작 가능하게 결합되고, 상기 데드락 매니저 블록에서 교착 상태 해소 명령과 연관된 제1 제어 명령들을 수신하도록 구성된 데드락 클리어 제어 모듈을 포함하는, 복원 장치.
  9. 제8 항에 있어서,
    상기 마스터 복원 블록은,
    상기 제1 버퍼 및 상기 시스템 버스와 동작 가능하게 결합되고, 상기 명령 채널을 통해 전달되는 제어 명령들을 모니터하도록 구성된 명령 모니터 모듈;
    상기 제2 버퍼 및 상기 시스템 버스와 동작 가능하게 결합되고, 상기 응답 채널을 통해 전달되는 응답들을 모니터하도록 구성된 응답 모니터 모듈; 및
    상기 명령 모니터 모듈 및 상기 응답 모니터 모듈과 동작 가능하게 결합되고, 시스템의 교착 상태를 검출하여 교착 상태 발생 신호를 상기 데드락 매니저 모듈로 전달하는 데드락 검출 모듈을 더 포함하는, 복원 장치.
  10. 제9 항에 있어서,
    복수의 슬레이브 블록들 중 특정 슬레이브 블록과 동작 가능하게 연결되는 슬레이브 복원 블록을 더 포함하고,
    상기 슬레이브 복원 블록은 상기 시스템 버스로부터 명령을 수신하는 명령 채널 및 상기 시스템 버스로 응답을 전송하는 응답 채널을 통해 상기 시스템 버스와 동작 가능하게 결합되는, 복원 장치.
  11. 제10 항에 있어서,
    상기 슬레이브 복원 블록은,
    상기 명령 채널과 인터페이스 되는 제3 버퍼 및 상기 응답 채널과 인터페이스 되는 제4 버퍼 - 상기 제3 버퍼 및 상기 제4 버퍼는 상기 특정 슬레이브 블록과 동작 가능하게 결합됨;
    상기 제3 버퍼와 동작 가능하게 결합되어 상기 교착 상태 발생 신호와 연관된 제어 명령을 수신하도록 구성된 가상 명령 수신 모듈;
    상기 제4 버퍼와 동작 가능하게 결합되어 상기 교착 상태 발생 신호와 연관된 응답을 생성하도록 구성된 가상 응답 생성 모듈; 및
    상기 제3 버퍼 및 상기 제4 버퍼와 동작 가능하게 결합되고, 상기 데드락 매니저 블록으로 교착 상태 해소 명령과 연관된 제2 제어 명령들을 수신하도록 구성된 데드락 클리어 제어 모듈을 포함하는, 복원 장치.
  12. 제11 항에 있어서,
    상기 슬레이브 복원 블록은,
    상기 제3 버퍼 및 상기 시스템 버스와 동작 가능하게 결합되고, 상기 명령 채널을 통해 전달되는 제어 명령들을 모니터하도록 구성된 명령 모니터 모듈;
    상기 제4 버퍼 및 상기 시스템 버스와 동작 가능하게 결합되고, 상기 응답 채널을 통해 전달되는 응답들을 모니터하도록 구성된 응답 모니터 모듈; 및
    상기 명령 모니터 모듈 및 상기 응답 모니터 모듈과 동작 가능하게 결합되고, 시스템의 교착 상태를 검출하여 교착 상태 발생 신호를 상기 데드락 매니저 모듈로 전달하는 데드락 검출 모듈을 더 포함하는, 복원 장치.
  13. 제12항에 있어서,
    상기 데드락 매니저 모듈은,
    상기 마스터 복원 블록의 데드락 검출 모듈로부터 교착 상태 발생 신호를 수신하고, 상기 슬레이브 복원 블록의 데드락 검출 모듈로부터 교착 상태 발생 신호를 수신하도록 구성된 데드락 정보 모듈; 및
    상기 교착 상태 해소 명령과 연관된 제어 명령들을 상기 마스터 복원 블록의 데드락 클리어 제어 모듈로 전달하고, 상기 데드락 클리어와 연관된 제2 제어 명령들을 상기 슬레이브 복원 블록의 데드락 클리어 제어 모듈로 전달하도록 구성된 데드락 클리어 모듈을 포함하는, 복원 장치.
  14. 차량에서 시스템 교착 상태를 해소하기 위한 복원 방법에 있어서,
    복원 블록(recovery block)에서 시스템의 교착 상태 발생을 모니터링하는 데드락 모니터링 과정;
    상기 복원 블록으로부터 데드락 매니저 블록(deadlock manager block)가 상기 교착 상태 발생 신호를 수신하여 상기 시스템의 교착 상태가 발생하였는지를 판단하는 교착 상태 판단 과정;
    상기 시스템의 교착 상태 발생시 상기 복원 블록에서 교착 상태 발생 신호를 생성하여 전달하는 교착 상태 발생 신호 전달 과정;
    상기 복원 블록으로부터 상기 교착 상태 발생 신호를 수신하면, 상기 데드락 매니저 블록이 인터럽트를 중앙처리 장치(CPU)로 전달하는 인터럽트 전달 과정;
    상기 데드락 매니저 블록은 내부 타이머가 만료 시 상기 CPU가 교착 상태인 것으로 판단하고, 상기 복원 블록에 교착 상태 해소 명령을 전송하는 교착 상태 해소 명령 전송 과정; 및
    상기 교착 상태 해소 명령을 수신하면 상기 복원 블록은 상기 교착 상태 해소 명령과 연관된 해당 인터페이스의 교착 상태를 해소하고, 상기 교착 상태 해소 명령과 연관된 해당 기능 블록이 상기 시스템 버스와 분리(isolation)되도록 제어하는 교착 상태 해소 과정을 포함하는, 복원 방법.
  15. 제14 항에 있어서,
    상기 인터럽트 전달 과정의 이후,
    상기 복원 블록의 교착 상태가 해소되고 상기 CPU가 동작 가능한지 여부를 판단하는 교착 상태 해소 판단 과정; 및
    상기 복원 블록의 교착 상태가 해소되고 상기 CPU가 동작 가능한 것으로 판단되면, 상기 CPU는 시스템 복원 서비스 루틴을 수행하고 상기 데드락 매니저 블록의 인터럽트를 클리어하는 인터럽트 클리어 과정을 더 포함하는, 복원 방법.
  16. 제15 항에 있어서,
    상기 해당 기능 블록은 복수의 마스터 블록들 중 제1 마스터 블록과 동작 가능하게 연결된 제1 복원 블록이고,
    상기 교착 상태 해소 판단 과정에서,
    상기 데드락 매니저 블록은 상기 제1 복원 블록의 교착 상태가 해소되었지만 상기 데드락 매니저 블록의 인터럽트가 클리어 되지 않고 상기 데드락 매니저 블록의 내부 타이머가 다시 만료되면 상기 CPU가 여전히 교착 상태인 것으로 판단하고,
    제2 교착 상태 신호가 전송된 제2 복원 블록으로 제2 교착 상태 해소 명령을 전송하고, 다시 내부 타이머가 동작되게 제어하고,
    상기 제2 복원 블록은 상기 복수의 마스터 블록들 중 제2 마스터 블록과 동작 가능하게 결합되는, 복원 방법.
  17. 제16 항에 있어서,
    상기 교착 상태 해소 명령 전송 과정에서,
    상기 CPU가 시스템 복원 서비스 루틴을 수행하는 것을 완료할 때까지, 상기 데드락 매니저 블록은 복수의 교착 상태 해소 명령들을 복수의 복원 블록들로 전송하는 것을 반복하고,
    상기 교착 해소 명령 전송 완료 판단 과정에서,
    상기 데드락 매니저 블록은 교착 상태가 발생된 모든 상기 복수의 복원 블록들에게 상기 복수의 교착 상태 해소 명령들이 전송되면 시스템 복원 시도가 실패한 것으로 판단하는, 복원 방법.
  18. 제15항에 있어서,
    상기 교착 상태 발생 신호 전달 과정의 이후, 상기 교착 상태가 발생한 발생 위치 및 발생 순서에 관한 정보를 수집하는 교착 상태 발생 정보 수집 과정이 수행되고,
    상기 인터럽트 전달 과정의 이후,
    상기 데드락 매니저 블록의 내부 타이머를 카운트하여 상기 내부 타이머가 만료되었는지를 판단하는 내부 타이머 만료 판단 과정; 및
    상기 발생 순서에 따라 모든 발생 위치들로 교착 상태 해소 명령들이 전송되었는지를 판단하는 교착 해소 명령 전송 완료 판단 과정을 더 포함하는, 복원 방법.
  19. 제18항에 있어서,
    상기 교착 상태 해소 과정이 수행된 이후,
    상기 교착 상태 해소 판단 과정에서 상기 CPU가 동작 가능할 때까지 상기 내부 타이머 만료 판단 과정이 반복적으로 수행되고,
    상기 내부 타이머 만료 판단 과정에서 상기 CPU의 교착 상태가 해소되지 않은 상태에서 상기 내부 타이머가 만료된 것으로 판단되면, 상기 교착 해소 명령 전송 완료 판단 과정에서 교착 상태가 발생한 모든 발생 위치들로 교착 상태 해소 명령들이 전송되었는지를 판단하는, 복원 방법.
  20. 제19항에 있어서,
    상기 교착 해소 명령 전송 완료 판단 과정의 이후,
    상기 교착 상태가 발생한 모든 발생 위치들로 교착 상태 해소 명령들이 전송된 것으로 판단되면, 시스템 리셋 블록으로 시스템 리셋 명령을 전달하는 시스템 리셋 명령 전달 과정; 및
    상기 시스템 리셋 블록으로 상기 시스템 리셋 명령을 전달하여, 전체 시스템의 모든 블록들에 대한 재부팅을 통해 상기 모든 블록들에 대한 리셋을 수행하는 시스템 리셋 수행 과정을 더 포함하는, 복원 방법.
PCT/KR2022/015370 2022-10-12 2022-10-12 시스템 교착 상태를 해소하는 복원 장치 및 방법 WO2024080395A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/015370 WO2024080395A1 (ko) 2022-10-12 2022-10-12 시스템 교착 상태를 해소하는 복원 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/015370 WO2024080395A1 (ko) 2022-10-12 2022-10-12 시스템 교착 상태를 해소하는 복원 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2024080395A1 true WO2024080395A1 (ko) 2024-04-18

Family

ID=90669380

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/015370 WO2024080395A1 (ko) 2022-10-12 2022-10-12 시스템 교착 상태를 해소하는 복원 장치 및 방법

Country Status (1)

Country Link
WO (1) WO2024080395A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104135398A (zh) * 2014-07-08 2014-11-05 常州凯锐能源科技有限公司 一种智能rs485集线器及总线锁死检测方法
US20160350215A1 (en) * 2014-12-13 2016-12-01 Via Alliance Semiconductor Co., Ltd. Distributed hang recovery logic
KR20190079809A (ko) * 2017-12-28 2019-07-08 현대자동차주식회사 결함 주입 테스트 장치 및 그 방법
KR20190116029A (ko) * 2018-04-03 2019-10-14 삼성전자주식회사 시스템 온 칩 및 그 동작 방법
US20220035761A1 (en) * 2020-07-31 2022-02-03 Nxp Usa, Inc. Deadlock condition avoidance in a data processing system with a shared slave

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104135398A (zh) * 2014-07-08 2014-11-05 常州凯锐能源科技有限公司 一种智能rs485集线器及总线锁死检测方法
US20160350215A1 (en) * 2014-12-13 2016-12-01 Via Alliance Semiconductor Co., Ltd. Distributed hang recovery logic
KR20190079809A (ko) * 2017-12-28 2019-07-08 현대자동차주식회사 결함 주입 테스트 장치 및 그 방법
KR20190116029A (ko) * 2018-04-03 2019-10-14 삼성전자주식회사 시스템 온 칩 및 그 동작 방법
US20220035761A1 (en) * 2020-07-31 2022-02-03 Nxp Usa, Inc. Deadlock condition avoidance in a data processing system with a shared slave

Similar Documents

Publication Publication Date Title
WO2020167038A1 (ko) 사이드링크 통신에서 빔 관리 방법 및 장치
WO2021006473A1 (ko) 사이드링크 통신에서 자원 할당 방법
WO2021029557A1 (ko) 사이드링크 통신을 지원하는 통신 시스템에서 harq 응답의 송수신을 위한 방법 및 장치
WO2018231021A1 (ko) 듀얼 rrc 시스템에서 이동성을 처리하는 방법 및 장치
WO2020226392A1 (en) Method and apparatus for radio resource management in wireless communication system
WO2020251335A1 (ko) 무선 통신 시스템에서 단말의 신호 송수신 방법
WO2023008878A1 (en) Method and apparatus for sidelink positioning in wireless communication system
EP4211936A1 (en) Handover reliability enhancement in wireless communication system
WO2024080395A1 (ko) 시스템 교착 상태를 해소하는 복원 장치 및 방법
WO2019098494A1 (ko) 차량통신 서비스 제공 방법 및 차량통신 서비스 제공 단말
WO2020166994A1 (en) Multiple carrier transmissions for recovery of sidelink connection
WO2023177170A1 (en) Failure recovery for joint operation of conditional handover and conditional pscell addition or change
WO2022235100A1 (ko) 망간의 단말 이동성을 지원하는 방법 및 장치
WO2021045266A1 (ko) 데이터를 송수신하는 방법 및 통신 기기
WO2022098079A1 (ko) 무선통신 시스템에서 단방향 전송을 수행하는 방법 및 장치
WO2022161698A1 (en) Fast activation of a secondary cell group
WO2018066777A2 (ko) 무선 통신 장치 및 그 제어 방법
WO2022042948A1 (en) Early pdcch / cg activation based on survival time
EP4154571A1 (en) Method, system, and apparatus for sharing dynamic frequency in mobile communication system
WO2023022502A1 (ko) 비 지상 망에서 동기화 방법 및 장치
WO2024025392A1 (en) Method and apparatus for performing random access in wireless communication system
WO2023132617A1 (ko) 상향링크 신호를 송수신하는 방법 및 이를 위한 장치
WO2023249175A1 (ko) 무선 통신 시스템에서 제1 장치가 요청 메시지를 전송하는 방법 및 이를 위한 장치
WO2023013995A1 (ko) Drx 설정의 시그널링을 위한 방법 및 장치
WO2024058546A1 (ko) 무선통신시스템에서 멀티패스 릴레이에서 rlf 발생에 관련된 리모트 ue의 동작 방법

Legal Events

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

Ref document number: 22962146

Country of ref document: EP

Kind code of ref document: A1