Electronic device and recovery method thereof

CN122946205APending Publication Date: 2026-10-20SK HYNIX INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202610455408.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-04-14
Filing Date
2026-04-08
Publication Date
2026-10-20

AI Technical Summary

Technical Problem

即使制造商对电子装置的启动失败进行分析,通过带内通信也仅能进行有限的分析

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure FT_1
    Figure FT_1
  • Figure FT_2
    Figure FT_2
  • Figure FT_3
    Figure FT_3
Patent Text Reader

Abstract

An electronic device includes: a memory device configured to store data; a first interface configured to transmit data to a host and receive data from a host via a first path; a second interface configured to receive recovery data from a host via a second path; and a boot module configured to perform a boot operation, and in response to a boot operation failure, to perform an analysis operation on the electronic device based on the recovery data to generate analysis result data, and to perform a recovery operation on the electronic device based on the recovery data.
Need to check novelty before this filing date? Find Prior Art

Description

Cross-references to related applications

[0001] This application claims priority to Korean Patent Application No. 10-2025-0048191, filed on April 14, 2025, the entire disclosure of which is incorporated herein by reference. Technical Field

[0002] Various embodiments generally relate to an electronic device, and more specifically, to an electronic device and a method for recovering the same. Background Technology

[0003] When a booting failure occurs in a storage-based electronic device such as a Secure Digital Card (SD) or a Solid State Drive (SSD), the device can only be recovered through analysis performed by the manufacturer.

[0004] There are two main methods for communication between electronic devices and host devices: in-band communication and out-of-band communication. Even if the manufacturer analyzes a startup failure of the electronic device, only limited analysis can be performed via in-band communication. Furthermore, the recovery methods employed by the manufacturer incur unnecessary time and costs for the user and also increase the workload of the manufacturer's customer service (CS) team.

[0005] Therefore, a convenient method for analyzing and recovering from startup failures of electronic devices is discussed to increase the reusability and lifespan of electronic devices. Summary of the Invention

[0006] Embodiments of this disclosure provide an electronic device capable of recovering from and analyzing boot failures via out-of-band communication.

[0007] According to an embodiment, an electronic device may include: a memory device configured to store data; a first interface configured to transmit data to a host and receive data from a host via a first path; a second interface configured to receive recovery data from a host via a second path; and a startup module configured to perform a startup operation, and in response to a startup operation failure, perform an analysis operation on the electronic device based on the recovery data to generate analysis result data, and perform a recovery operation on the electronic device based on the recovery data.

[0008] According to an embodiment, a method of operating an electronic device may include: applying power to the electronic device; executing a startup sequence; determining whether an error has occurred during the startup sequence; receiving recovery data via out-of-band communication in response to determining that an error has occurred; analyzing the electronic device based on the recovery data to generate analysis result data; and restoring the electronic device based on the recovery data.

[0009] According to an embodiment, an electronic system may include: an electronic device and a host, the electronic device including firmware, the host being configured to transmit recovery firmware to the electronic device via an out-of-band communication path in response to a boot failure of the electronic device, wherein the electronic device is configured to perform a built-in self-test (BIST) operation based on the recovery firmware to generate analysis result data, transmit the analysis result data to the host, and perform a recovery on the firmware based on the recovery firmware. Attached Figure Description

[0010] Figure 1 This is a diagram illustrating an electronic system 1000 according to an embodiment of the present disclosure; Figure 2 This is a diagram illustrating an electronic system 2000 according to an embodiment of the present disclosure; Figure 3 This is a diagram illustrating an electronic device 200 according to an embodiment of the present disclosure; Figure 4 This is a diagram illustrating the configuration of a host interface according to an embodiment of the present disclosure; Figure 5 This is a diagram illustrating the process of receiving recovered data by an electronic device according to an embodiment of the present disclosure; Figure 6 This is a flowchart illustrating a method for an electronic device to execute a startup sequence according to an embodiment of the present disclosure; Figure 7 This is a flowchart illustrating the process of receiving recovery data via out-of-band communication in the event of an error during the execution of the startup sequence; Figure 8 This is a flowchart illustrating a method for performing a recovery operation by an electronic device according to an embodiment of the present disclosure; and Figure 9 This is a cross-functional flowchart illustrating the process by which a host adjusts the hardware settings of an electronic device according to an embodiment of the present disclosure. Detailed Implementation

[0011] The specific structural or functional descriptions illustrating examples of embodiments of the concepts disclosed in this specification are merely illustrative of examples of embodiments of the concepts, and examples of embodiments of the concepts may be implemented in various forms, but the descriptions are not limited to the examples of embodiments described in this specification.

[0012] Figure 1 This is a diagram illustrating an electronic system 1000 according to an embodiment of the present disclosure.

[0013] The electronic system 1000 may include a host 100a and an electronic device 200a. For example, the host 100a may be configured to control the overall operation of the electronic device 200a.

[0014] Host 100a may include processor 110, memory 120, device interface 130, and user interface 140. For example, processor 110, memory 120, and device interface 130 may be integrated into a single semiconductor integrated circuit, such as a system-on-a-chip (SoC).

[0015] The processor 110 can be configured to control the overall operation of the host 100a. For example, the processor 110 can be configured as a system-on-a-chip (SoC). For example, the processor 110 may include a general-purpose processor, a dedicated processor, etc.

[0016] Memory 120 may be the operation memory of processor 110. Memory 120 may be configured to store code and data executed by processor 110. For example, memory 120 may include read-only memory (ROM) and random access memory (RAM). RAM may be configured as volatile random access memory such as dynamic random access memory (DRAM), static random access memory (SRAM), synchronous dynamic random access memory (SDRAM), or non-volatile random access memory such as ferroelectric random access memory (FRAM), phase-change random access memory (PRAM), magnetoresistive random access memory (MRAM), resistive random access memory (RRAM).

[0017] The device interface 130 can be configured to relay communication between the processor 110 and the electronic device 200a.

[0018] According to one embodiment, device interface 130 may include multiple communication interfaces. For example, device interface 130 may include in-band interfaces and out-of-band interfaces, with the in-band interfaces communicating via in-band communication paths and the out-of-band interfaces communicating via out-of-band communication paths. Device interface 130 may perform in-band communication via the in-band interfaces and out-of-band communication via the out-of-band interfaces.

[0019] For example, in-band communication may include sending and receiving data through a frequency band, channel, port, or connection established for data communication between two different devices. Out-of-band communication may include sending or receiving data through a frequency band, channel, port, or connection not established for data communication between two different devices. For example, with out-of-band communication, data can be sent or received in a frequency band (based on frequency, speed, etc.) different from the frequency band used in the in-band communication path.

[0020] In one embodiment, out-of-band communication can transmit or receive data through a communication path that is not an in-band communication path (e.g., an input / output (I / O) line that can transmit or receive addresses, commands, etc. bidirectionally), but a communication path reserved for another purpose or use (e.g., a line for testing, an auxiliary line for supplemental clock or power supply, or a separate line predefined by an agreement between the manufacturer or supplier).

[0021] In one example, device interface 130 may communicate with electronic device 200a using only an in-band communication path. User data and management data for managing electronic device 200a can be transmitted between device interface 130 and electronic device 200a via the same communication path.

[0022] like Figure 1 As shown, when device interface 130 is equipped with both an in-band communication path and an out-of-band communication path, user data can be transmitted via the in-band communication path, while management data can be transmitted via the separately equipped out-of-band communication path. Because management data is transmitted on a separate path independent of the path used to send or receive user data, management data can be transmitted between device interface 130 and electronic device 200a without affecting the transmission of user data via the in-band communication path. In this disclosure, management data may include recovery data for recovering electronic device 200a.

[0023] Electronic device 200a can be configured to communicate with processor 110 via device interface 130. Electronic device 200a can be accessed by processor 110. Electronic device 200a can be a non-volatile memory-based storage device including non-volatile memory.

[0024] According to one embodiment, electronic device 200a may include a storage medium for storing data in response to a request from host 100a. For example, electronic device 200a may include at least one of a solid-state drive (SSD), embedded memory, and removable external memory. When electronic device 200a is an SSD, it may conform to the High Speed ​​Non-Volatile Memory (NVMe) standard. When electronic device 200a is embedded memory or external memory, it may conform to the Universal Flash Memory (UFS) or Embedded Multimedia Card (eMMC) standard.

[0025] According to one embodiment, in response to a boot failure of electronic device 200a, electronic device 200a can receive recovery data via out-of-band communication. Based on the recovery data, electronic device 200a can perform analysis of its internal configuration to generate analysis result data. Electronic device 200a can perform recovery in response to the boot failure based on the recovery data. For example, the recovery data may be in the form of a binary image and may include recovery firmware. Reference will be made below. Figures 5 to 9 Describe in detail how electronic device 200a performs recovery by recovering data.

[0026] User interface 140 can communicate with the user under the control of processor 110. For example, user interface 140 may include user input interfaces such as keyboard, keypad, buttons, touch panel, touch screen, touchpad, touch ball, microphone, sensor, etc. User interface 140 may include devices for outputting data to the user, such as liquid crystal display (LCD), organic light-emitting diode (OLED), display device, active matrix OLED (AMOLED) display device, LED, speaker, etc.

[0027] In addition to the components mentioned above, host 100a may further include other components. For example, host 100a may further include network devices, camera modules, etc.

[0028] The electronic system 1000 can be configured as a personal computer (PC), a data server, or a portable electronic device. For example, the electronic system 1000 can be configured as a laptop computer, mobile phone, smartphone, tablet PC, personal digital assistant (PDA), enterprise digital assistant (EDA), digital camera, digital camcorder, portable multimedia player (PMP), personal navigation device (PND), etc.

[0029] Figure 2 This is a diagram illustrating an electronic system 2000 according to an embodiment of the present disclosure.

[0030] The electronic system 2000 may include a host 100b and an external device 200c. For example, the host 100b may be configured to control the overall operation of the external device 200c.

[0031] The host 100b may include a processor 110, a memory 120, a device interface 130, a user interface 140, a reader 135, and an embedded device 200b.

[0032] Figure 2 The configuration and operation of the electronic system 2000 are similar to Figure 1 The configuration and operation of the electronic system 1000. Therefore, only the differences will be described to avoid redundancy.

[0033] and Figure 1 Compared to the electronic system 1000, Figure 2 The electronic system 2000 may further include a reader 135. Figure 2 The electronic system 2000 may also include both an embedded device 200b and an external device 200c.

[0034] The reader 135 can be configured to communicate with the processor 110 via the device interface 130. The reader 135 can be configured to control the external device 200c in response to control by the processor 110.

[0035] External device 200c can communicate with processor 110 via device interface 130, such as Figure 1 The electronic system 1000, or can communicate with the processor 110 via the reader 135 and device interface 130, such as Figure 2 Electronic systems 2000.

[0036] The reader 135 can be configured to communicate with the device interface 130 according to a predetermined communication protocol. For example, the reader 135 can communicate with the device interface 130 according to the USB protocol, but this disclosure is not limited thereto.

[0037] According to one embodiment, reader 135 may include multiple communication interfaces. For example, reader 135 may include multiple communication interfaces that respectively include in-band communication paths and out-of-band communication paths.

[0038] According to one embodiment, in response to a boot failure, each of the embedded device 200b and the external device 200c can receive recovery data via out-of-band communication. Based on the recovery data, each of the embedded device 200b and the external device 200c can perform analysis of its internal configuration to generate analysis result data. Each of the embedded device 200b and the external device 200c can perform recovery in response to the boot failure based on the recovery data. For example, the recovery data may be in the form of a binary image and may include recovery firmware.

[0039] Figure 3 This is a diagram illustrating an electronic device 200 according to an embodiment of the present disclosure. The electronic device 200 may correspond to any one of the electronic devices 200a, 200b, and 200c described above.

[0040] Reference Figure 3 The electronic device 200 may include a device controller 210 and a non-volatile memory 240.

[0041] The device controller 210 may include a boot module 220 and a host interface 230. The boot module 220 may include a CPU 221, RAM 222, and ROM 223. The boot module 220 may be configured to perform a boot operation.

[0042] The CPU 221 can be configured to control the operation of the electronic device 200 as a whole. For example, the CPU 221 can access the non-volatile memory 240 in response to commands and addresses received via the host interface 230.

[0043] RAM 222 can be used as operating memory for CPU 221. RAM 222 can be buffer memory or cache memory. RAM 222 can include volatile random access memory or non-volatile random access memory, such as SRAM, DRAM, SDRAM, FRAM, PRAM, MRAM, RRAM, etc.

[0044] ROM 223 can store ROM code. For example, when power is applied to electronic device 200, the ROM code can be executed by CPU 221 first. For example, CPU 221 can perform a boot operation on electronic device 200 to run the ROM code.

[0045] The host interface 230 can be configured to relay communication with the host. For example, the host interface 230 can be configured to receive commands issued by the host, interpret the received commands, and generate a response based on the interpretation results. In response to the command, the host interface 230 can receive data from the host or send data to the host. For example, the host interface 230 can be configured to perform in-band and out-of-band communication.

[0046] According to one embodiment, the non-volatile memory 240 may include NAND flash memory, FRAM, PRAM, MRAM, EEPROM, etc. For example, the non-volatile memory 240 may include multiple memory elements CE0 to CE3.

[0047] According to one embodiment, the non-volatile memory 240 can be divided into a user storage area and a non-user storage area. In the user storage area, a user can program or read data, while the non-user storage area is unavailable to the user. For example, the non-user storage area can be configured to store firmware (FW). For example, during a boot operation, the CPU 221 can load the firmware (FW) from the non-volatile memory 240 into RAM 222 and run the firmware (FW).

[0048] According to one embodiment, host interface 230 can be configured to receive recovery data via out-of-band communication. For example, in response to a boot failure, CPU 221 can receive recovery data via host interface 230. For example, the recovery data may be binary image data including recovery firmware.

[0049] The startup module 220 can be configured to perform analysis operations based on recovery data in response to startup failure, generate analysis result data, and perform recovery operations based on the recovery data.

[0050] For example, CPU 221 can generate analysis result data by analyzing the state of the internal configuration of electronic device 200 based on the recovery firmware. For example, CPU 221 can analyze the state of each of RAM 222, ROM 223, host interface 230, and multiple memory elements CE0 to CE3 based on the recovery firmware, and can generate analysis result data. For example, CPU 221 can store the generated analysis result data in non-volatile memory 240, or can transmit the analysis result data to the host via host interface 230.

[0051] For example, CPU 221 can run recovery firmware to recover electronic device 200 from a boot failure. For example, recovery data may include the original firmware. The original firmware may be the same firmware code as the firmware FW stored in non-volatile memory 240 before it was corrupted. CPU 221 can use the original firmware in the recovery data to update the firmware FW stored in non-volatile memory 240, thereby recovering electronic device 200 from a boot failure.

[0052] Figure 4 This is a diagram illustrating the configuration of a host interface 230 according to an embodiment of the present disclosure.

[0053] Reference Figure 4 The host 100 and the host interface 230 can be connected via in-band communication path 301 and out-of-band communication path 302. Figure 4 The host interface 230 can have the same as Figure 3 The host interface 230 has the same configuration, and Figure 3 The electronic device 200 can be connected to the host 100 via the host interface 230.

[0054] Host 100 may include an in-band (IB) interface 131 and an out-of-band (OOB) interface 132. For example, the in-band interface 131 may be configured to perform in-band communication, and the out-of-band interface 132 may be configured to perform out-of-band communication. For example, the in-band interface 131 may be connected to the host interface 230 via an in-band communication path 301, and the out-of-band interface 132 may be connected to the host interface 230 via an out-of-band communication path 302.

[0055] The host interface 230 may include a first interface 231 and a second interface 232. For example, the first interface 231 may be connected to the in-band interface 131 of the host 100 via an in-band communication path 301. For example, the second interface 232 may be connected to the out-of-band interface 132 of the host 100 via an out-of-band communication path 302.

[0056] According to one embodiment, host 100 can transmit recovery data to host interface 230 via out-of-band communication path 302. For example, in response to a startup failure, host interface 230 can activate second interface 232. Host 100 can then transmit recovery data to second interface 232 via out-of-band interface 132.

[0057] Figure 5 This is a diagram illustrating the process by which an electronic device receives recovered data according to an embodiment of the present disclosure.

[0058] Reference Figure 5 In response to the startup failure of electronic device 200①, CPU 221 can transmit the startup failure signal BFS to host device 100② via host interface 230.

[0059] According to one embodiment, in the event of a startup failure of the electronic device 200①, the in-band communication path 301 can be disabled. Conversely, or additionally, in the event of a startup failure of the electronic device 200, the out-of-band communication path 302 can be activated. For example, the CPU 221 may include an out-of-band communication controller (i.e., an OOB communication controller) 221_1. The out-of-band communication controller 221_1 can be configured to activate the second interface 232 in response to a startup failure. For example, in the event of a startup failure of the electronic device 200, the out-of-band communication controller 221_1 can communicate with the out-of-band interface 132 of the host device 100 via the second interface 232 and the out-of-band communication path 302 (i.e., transmit a startup failure signal BFS②).

[0060] In response to the boot failure signal BFS, the host device 100 can transmit recovery data RD to the electronic device 200③. For example, the recovery data RD may include recovery firmware R_FW, diagnostic code DC, and original firmware O_FW. For example, the recovery data RD may be in the form of a binary image.

[0061] CPU 221 can receive recovery data RD④ via the second interface 232. For example, CPU 221 can receive recovery data RD and authenticate the recovery firmware R_FW.

[0062] According to one embodiment, CPU 221 may include authenticator 221_2. For example, CPU 221 may perform an authentication operation on recovery firmware R_FW before running recovery firmware R_FW. CPU 221 may be configured to determine whether to use recovery firmware R_FW based on the result of the authentication operation. For example, if the authentication operation fails, recovery firmware R_FW may not be used, and the recovery operation may be terminated. For example, if the authentication operation succeeds, recovery firmware R_FW may be used, and the recovery operation may be performed.

[0063] For example, the authentication operation for the recovery firmware R_FW may include a digital signature verification operation. A signature verification operation can be performed to verify the integrity and authenticity of the recovery firmware R_FW. During the signature verification process, the authenticator 221_2 can use the public key to verify the digital signature of the recovery firmware R_FW and determine whether the digital signature was generated by a trusted entity. When the signature verification result is valid, the authenticator 221_2 can determine that the verification operation of the recovery firmware R_FW was successful.

[0064] According to one embodiment, CPU 221 can be configured to run diagnostic code DC based on recovery firmware R_FW. For example, the diagnostic code DC may include Built-in Self-Test (BIST) operation code, and the CPU can perform BIST operations via the BIST operation code. For example, CPU 221 can perform BIST operations to analyze the internal configuration of electronic device 200 and generate analysis result data. CPU 221 can store the generated analysis result data in non-volatile memory.

[0065] For example, the BIST operation can verify the normal operation of the kernel, internal direct memory access (DMA), clock, bus, peripherals, accelerators, etc., within the electronic device 200. For instance, the BIST operation can be performed by running test logic designed for the memory devices within the electronic device 200, or by verifying the normal operation of the memory devices through a test algorithm. Furthermore, the BIST operation can be performed to verify the normal operation of the configurations included in the electronic device 200 without the need for external devices.

[0066] According to one embodiment, CPU 221 can be configured to update and store the original firmware O_FW based on the recovery firmware R_FW. For example, CPU 221 can use the original firmware O_FW to update the firmware stored in electronic device 200.

[0067] Figure 6This is a flowchart illustrating a method for an electronic device to execute a startup sequence according to an embodiment of the present disclosure. Referring hereafter, it will be noted together with... Figure 3 and Figure 5 To describe this method.

[0068] Reference Figure 6 During operation of S110, electricity can be applied. For example, an external power source can be applied to the electronic device 200.

[0069] During operation S120, ROM code can be executed. For example, CPU 221 can execute ROM code stored in ROM 223. For example, as the ROM code is executed, the startup sequence of electronic device 200 can be triggered.

[0070] During operation S130, firmware can be loaded. For example, CPU 221 can load firmware FW stored in a predetermined area of ​​non-volatile memory 240 into RAM 222 and run the firmware FW.

[0071] During operation S140, firmware authentication can be performed. For example, authentication can be performed on the firmware FW loaded into RAM 222. Subsequently, CPU 221 can run the firmware FW, read flash translation layer (FTL) metadata from non-volatile memory 240, and check for errors in the FTL metadata.

[0072] Reference Figure 3 According to one embodiment, CPU 221 can determine whether an error has occurred during the execution of the boot sequence. For example, if operations S120 to S140 are not executed correctly, CPU 221 can determine that an error has occurred during the boot sequence. For example, in operation S120, if the ROM code is not executed, CPU 221 can determine that an error has occurred. For example, in operation S130, if the firmware is not loaded, CPU 221 can determine that an error has occurred. For example, in operation S140, if firmware authentication fails, CPU 221 can determine that an error has occurred.

[0073] Figure 7 This is a flowchart illustrating the process of receiving recovery data via out-of-band communication when an error occurs during the startup sequence. Referencing this in the following text... Figure 3 and Figure 5 Describe the process.

[0074] Reference Figure 7During operation S210, the out-of-band interface can be activated. For example, when electronic device 200 executes the startup sequence, CPU 221 can determine whether an error has occurred. When an error occurs in the startup sequence of electronic device 200, CPU 221 can activate the second interface 232. For example, with the second interface 232 activated, host 100 can access electronic device 200 via out-of-band communication path 302.

[0075] During operation S220, recovery data can be received. For example, CPU 221 can receive recovery data via second interface 232 and out-of-band communication path 302. For example, host 100 can transmit recovery data via out-of-band communication path 302. That is, when an error is determined to have occurred in the boot sequence, CPU 221 can receive recovery data via out-of-band communication. For example, the recovery data can be in the form of a binary image. The recovery data may include recovery firmware.

[0076] During operation S230, an authentication operation for the recovery firmware can be performed. For example, CPU 221 can perform an authentication operation on the recovery firmware. For example, if the authentication operation fails, the recovery firmware may not be run. On the other hand, if the authentication operation succeeds, CPU 221 can run the recovery firmware.

[0077] During operation S240, a recovery operation can be performed. For example, CPU 221 can analyze electronic device 200 based on the recovery data, generate analysis result data, and recover electronic device 200 based on the recovery data. For example, CPU 221 can run recovery firmware to recover electronic device 200 based on the recovery firmware, and can generate analysis result data.

[0078] Figure 8 This is a flowchart illustrating a method for performing a recovery operation by an electronic device according to an embodiment of the present disclosure. Referring hereafter, it will be noted together with... Figure 3 and Figure 5 To describe this method.

[0079] Reference Figure 8 During operation S310, the electronic device 200 can be reset and initialized. For example, the CPU 221 can reset and initialize the electronic device 200 before performing a recovery operation based on the recovery firmware.

[0080] During operation S320, the electronic device can be analyzed. For example, the recovered data may include diagnostic code, and the CPU 221 may run the diagnostic code based on the recovered firmware. For example, the diagnostic code may include built-in self-test (BIST) operation code, and the CPU 221 may perform a BIST operation on the electronic device 200 based on the recovered firmware to generate analysis result data. For example, the CPU 221 may store the analysis result data in non-volatile memory 240. Furthermore, for example, in response to a request from the host 100, the CPU 221 may provide the analysis result data to the host.

[0081] During operation of S330, authentication operations on the original firmware can be performed. For example, the recovery data may include the original firmware, and CPU 221 may perform authentication operations on the original firmware. For example, the verification operation on the original firmware may include a digital signature verification operation. For example, the recovery operation may be terminated if the authentication operation fails.

[0082] During operation S340, the original firmware can be updated and stored. For example, CPU 221 can use the original firmware to update the firmware of electronic device 200 and store the updated original firmware. For example, CPU 221 can store the original firmware from the recovery data from RAM 222 into non-volatile memory 240 based on the recovery firmware. For example, when CPU 221 executes a boot sequence operation, the updated original firmware can be loaded from non-volatile memory 240 into RAM 222 and run.

[0083] Figure 9 This is a cross-functional flowchart illustrating the process by which a host adjusts the hardware settings of an electronic device according to an embodiment of the present disclosure. Referring hereafter, it will be noted together with... Figure 3 and Figure 5 To describe the process.

[0084] Reference Figure 9 During operation of S410, power can be applied. For example, external power can be applied to electronic device 200.

[0085] During operation of S420, a startup sequence can be executed. For example, CPU 221 can execute the startup sequence of electronic device 200. During the startup sequence, the following can be executed: Figure 6 Operations S120 to S140 are performed. The startup sequence may succeed, in which case the device operates normally, or the startup sequence may fail and not be fully executed. For example, an error may occur during the execution of the startup sequence. The CPU 221 can determine whether an error occurred during the startup sequence.

[0086] During operation of S430, an out-of-band interface can be activated. For example, CPU 221 can activate second interface 232 in response to determining that an error has occurred during the boot sequence. With second interface 232 activated, host 100 can communicate with electronic device 200 via out-of-band communication path 302.

[0087] During operation of S440, recovery data can be received. For example, host 100 can transmit recovery data to electronic device 200 via out-of-band communication path 302. Recovery data can be in the form of a binary image. Recovery data may include recovery firmware, diagnostic code, and original firmware.

[0088] During operation of S450, authentication operations can be performed on the recovery firmware. For example, authentication operations may include authentication and / or verification operations, such as digital signature verification. When the authentication operation is successful, CPU 221 can run the recovery firmware.

[0089] During operation S460, recovery and analysis operations can be performed by the recovery firmware. For example, based on the recovery firmware, CPU 221 can run diagnostic code including BIST operations and generate analysis result data for electronic device 200. For example, CPU 221 can perform an authentication operation on the original firmware, and when the authentication operation is successful, CPU 221 can update the firmware of electronic device 200 to the original firmware and store the updated original firmware to perform a recovery operation on electronic device 200.

[0090] During operation S470, analysis result data can be transmitted. For example, when host 100 requests analysis result data from electronic device 200, CPU 221 can transmit the analysis result data to host 100. For example, CPU 221 can transmit the recovered analysis result data via in-band communication path 301 or out-of-band communication path 302.

[0091] During operation S480, the hardware settings of electronic device 200 can be adjusted based on the analysis result data. For example, based on the received analysis result data, host device 100 can determine and adjust the hardware settings of electronic device 200 in response to an error (e.g., hardware error) occurring in the internal configuration of electronic device 200 that is not operating properly. Host 100 can analyze the analysis result data generated in response to the hardware error and implement a response based on the analysis result data. For example, host 100 can change the hardware that caused the error (e.g., implement alternative hardware) and can adjust address values. For example, host 100 can adjust the physical layer settings of the communication interface of electronic device 200. For example, host 100 can change the address value of the memory that caused the error.

[0092] According to this disclosure, an electronic device capable of recovering from and analyzing boot failures via out-of-band communication can be provided.

[0093] As used herein, the terms “apparatus” or “unit” refer to any combination of software, firmware, and / or hardware configured to provide the functions described herein. For example, software may be configured as a software package, code, and / or a set of instructions or commands, while hardware may include individual or any combination or collection of firmware, programmable circuitry, and / or state machine circuitry storing instructions executed by hardwired circuitry.

[0094] It will be apparent to those skilled in the art that various modifications can be made to the exemplary embodiments described above without departing from the spirit or scope of the invention. Therefore, the invention is intended to cover all such modifications, provided they fall within the scope of the claims and their equivalents.

Claims

1. An electronic device comprising: Memory devices that store data; The first interface transmits data to and receives data from the host via a first path; The second interface receives recovery data from the host via the second path; as well as Startup module, the startup module: Perform the startup operation. In response to the startup failure, an analysis operation is performed on the electronic device based on the recovery data to generate analysis result data, and A recovery operation is performed on the electronic device based on the recovered data.

2. The electronic device according to claim 1, wherein, The first path includes an in-band communication path, and The second path includes an out-of-band communication path.

3. The electronic device according to claim 1, wherein, In response to the failure of the startup operation, the startup module activates the second interface.

4. The electronic device according to claim 1, wherein, The recovery data includes recovery firmware. The startup module: In response to receiving the recovery data, the analysis operation is performed based on the recovery firmware to generate the analysis result data; as well as Based on the recovery firmware, the recovery operation is performed, and The memory device stores the analysis result data.

5. The electronic device according to claim 4, wherein, The startup module performs the analysis operation by executing a built-in self-test operation based on the recovery firmware.

6. The electronic device according to claim 4, wherein, The startup module: In response to receiving the recovery data, an authentication operation is performed on the recovery firmware; as well as Based on the result of the authentication operation, it is determined whether to use the recovery firmware.

7. The electronic device according to claim 1, wherein, The memory device stores the first firmware, and The boot module performs the boot operation based on the first firmware.

8. The electronic device according to claim 7, wherein, The recovered data includes the second firmware, and The startup module: In response to receiving the recovery data, an authentication operation is performed on the second firmware; as well as Based on the result of the authentication operation, it is determined whether to use the second firmware.

9. The electronic device according to claim 8, wherein, The startup module uses the second firmware to update the first firmware stored in the memory device.

10. A method of operating an electronic device, the method comprising: Apply power to the electronic device; Execute the startup sequence; Determine if an error occurred during the startup sequence; In response to the determination that an error has occurred, recovery data is received via out-of-band communication; The electronic device is analyzed based on the recovered data to generate analysis result data; as well as The electronic device is restored based on the recovered data.

11. The method of claim 10, further comprising activating an out-of-band interface for the out-of-band communication in response to determining that an error has occurred.

12. The method according to claim 10, wherein, The recovery data includes recovery firmware. Based on the recovery firmware, the electronic device is analyzed and recovered, and The method further includes storing the analysis result data.

13. The method according to claim 12, wherein, Each step in analyzing and restoring the electronic device includes performing a built-in self-test operation based on the restored firmware.

14. The method of claim 12, further comprising performing an authentication operation on the recovery firmware, in, Based on the results of the authentication operation on the restored firmware, the electronic device is analyzed and restored.

15. The method of claim 10, further comprising: In response to a hardware error, the analysis results data are analyzed; as well as Based on the analysis results, the hardware settings of the electronic device are adjusted.

16. The method of claim 10, wherein, The boot sequence is executed based on the first firmware stored in the electronic device.

17. The method according to claim 16, wherein, The recovered data includes the second firmware. The method further includes performing an authentication operation on the second firmware.

18. The method according to claim 17, wherein, Each of the steps in analyzing and restoring the electronic device includes replacing the first firmware stored in the electronic device with the second firmware.

19. An electronic system comprising: Electronic devices, including firmware; and In response to a startup failure of the electronic device, the host transmits recovery firmware to the electronic device via an out-of-band communication path. The electronic device: Based on the recovery firmware, a built-in self-test operation is performed to generate analysis result data. The analysis results data are transmitted to the host computer, and The firmware is restored based on the restored firmware.

20. The electronic system according to claim 19, wherein, The host computer adjusts the hardware settings of the electronic device based on the analysis results data.

Citation Information

Patent Citations

  • Method for making composite copper foil

    KR1020250048191A