KR20080084263A - Apparatus and method for recovering damaged data of serial eeprom - Google Patents

Apparatus and method for recovering damaged data of serial eeprom Download PDF

Info

Publication number
KR20080084263A
KR20080084263A KR1020070025698A KR20070025698A KR20080084263A KR 20080084263 A KR20080084263 A KR 20080084263A KR 1020070025698 A KR1020070025698 A KR 1020070025698A KR 20070025698 A KR20070025698 A KR 20070025698A KR 20080084263 A KR20080084263 A KR 20080084263A
Authority
KR
South Korea
Prior art keywords
checksum
initialization data
recovery
memory
computer system
Prior art date
Application number
KR1020070025698A
Other languages
Korean (ko)
Other versions
KR100907550B1 (en
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 KR1020070025698A priority Critical patent/KR100907550B1/en
Publication of KR20080084263A publication Critical patent/KR20080084263A/en
Application granted granted Critical
Publication of KR100907550B1 publication Critical patent/KR100907550B1/en

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/16Error detection or correction of the data by redundancy in hardware
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

A device and a method for recovering damaged data of a serial EEPROM(Electronically Erasable Programmable ROM) are provided to recover damaged initialization data automatically and completely when the initialization data stored in each EEPROM of various kinds of devices operated in a computer system is damaged during system boot-up. A first memory stores initialization data for at least one device operated in a computer system. A second memory stores a recovery image for recovering the initialization data and a recovery checksum of the recovery image. A Southbridge(110) calculates the checksum of the initialization data stored in the first memory in system boot-up. The Southbridge keeps the initialization data when the calculated checksum is identical with the recovery checksum and overwrites the recovery image on the initialization data when the calculated checksum is not identical with the recovery checksum. The first memory is an EEPROM(133,135) included in a PC LAN(Local Area Network) or IEEE(Institute of Electrical and Electronics Engineers)-1394 adaptor(132,134), and the second memory is a flash ROM for the system boot-up.

Description

시리얼 EEPROM의 손상된 데이터를 복구하기 위한 장치 및 방법{Apparatus and method for recovering damaged data of serial EEPROM}Apparatus and method for recovering damaged data of serial EEPROM}

도 1은 일반적인 컴퓨터 시스템의 구성을 나타낸 도면.1 is a diagram showing the configuration of a general computer system.

도 2는 사우스 브리지와 PCI 디바이스와의 연결 상태를 나타낸 도면.2 is a diagram illustrating a connection state between a south bridge and a PCI device.

도 3은 PCI 디바이스의 초기화 데이터를 복구하는 흐름을 나타낸 도면.3 shows a flow for recovering initialization data of a PCI device.

도 4(a) 및 도 4(b)는 일반적인 바이오스 모듈 및 복구 이미지를 포함하는 바이오스 모듈을 나타낸 도면.4 (a) and 4 (b) illustrate a bios module including a general bios module and a restored image.

시리얼 EEPROM의 손상된 데이터를 복구하기 위한 장치 및 방법에 관한 것으로서, 더욱 상세하게는 컴퓨터 시스템의 부트-업 시 시리얼 EEPROM이 손상됨을 감지한 경우 이를 자동으로 복구할 수 있는 장치 및 방법에 관한 것이다.The present invention relates to a device and a method for recovering damaged data of a serial EEPROM. More particularly, the present invention relates to a device and a method for automatically recovering a damaged serial EEPROM upon boot-up of a computer system.

컴퓨터 시스템에는 시스템의 초기화 또는 중요한 데이터를 보관하는 용도로 이용하는 시리얼 EEPROM을 구비한 각종 어댑터들이 구비되어 있다. 이들의 예로는, PCI LAN 어댑터, PCI IEEE1394 어댑터, PCI 시리얼 어댑터 등이 있는데, 이러한 어댑터의 EEPROM은 통상 생산과정 중에 프로그램 된다. EEPROM의 내용은 중요한 내용 이기 때문에 만약 EEPROM의 데이터가 손상을 입게 된다면, 컴퓨터 시스템의 동작에 큰 영향을 줄 수 있게 된다. Computer systems are equipped with a variety of adapters with serial EEPROMs used to initialize the system or to store important data. Examples of these include PCI LAN adapters, PCI IEEE 1394 adapters, PCI serial adapters, and the like, whose EEPROMs are typically programmed during production. Because the contents of the EEPROM are important, if the data of the EEPROM is damaged, it can greatly affect the operation of the computer system.

그러나 EEPROM에 이러한 데이터의 손상이 발생했을 때, 이를 수정하거나 복구할 방법은 아직까지 제시된 적이 없어, 상기의 문제가 발생한 경우, 결국 EEPROM에 데이터를 저장한 회사(예를 들면, 컴퓨터 시스템의 제조회사)의 수리를 받아야만 한다. However, when such data is damaged in the EEPROM, there is no way to fix or recover it. If the above problem occurs, the company that stores the data in the EEPROM eventually (for example, the manufacturer of the computer system). ) Must be repaired.

이러한 문제점을 미연에 방지하기 위한 방법으로서, EEPROM에 저장된 데이터를 외부 접근이나 전기적인 영향 등으로부터 보호하기 위한 보호 기법들이 존재하기는 하지만, 이들은 단지 보호만 가능할 뿐으로, 실제로 EEPROM이 손상되었을 경우에 이를 복구하는 기술은 제시된 적이 없었다.As a way to prevent this problem, there are protection techniques to protect the data stored in the EEPROM from external access or electrical influences, but they can only protect the data, in case the EEPROM is actually damaged. Recovery techniques have never been suggested.

본 발명은 컴퓨터 시스템의 부트-업 시 컴퓨터 시스템 내에서 구동되는 다양한 장치의 각각의 EEPROM에 저장된 초기화 데이터가 손상되었을 경우, 이를 자동으로 완전히 복구할 수 있는 장치 및 방법 제공하고자 한다.An object of the present invention is to provide an apparatus and a method capable of automatically and completely recovering an initialization data stored in respective EEPROMs of various devices running in a computer system when the computer system is booted up.

상기한 목적을 달성하기 위한 본 발명은, 컴퓨터 시스템 내에서 구동되는 적어도 하나의 장치에 대한 초기화 데이터를 저장하는 제1 메모리; 상기 초기화 데이터를 복구하기 위한 복구 이미지 및 상기 복구 이미지에 대한 체크섬인 복구 체크섬을 저장하는 제2 메모리; 및 상기 컴퓨터 시스템의 부트-업 시, 상기 제1 메모리의 상기 초기화 데이터의 체크섬을 계산하고, 상기 체크섬과 상기 복구 체크섬의 동일 여부에 따라 상기 초기화 데이터를 유지하거나 상기 복구 이미지를 상기 초기화 데이터에 덮어 쓰기하는 제어부를 포함하는 메모리의 손상된 데이터를 복구하기 위한 장치를 제공한다.The present invention for achieving the above object, the first memory for storing the initialization data for at least one device running in a computer system; A second memory for storing a recovery image for restoring the initialization data and a recovery checksum that is a checksum for the recovery image; And calculating a checksum of the initialization data of the first memory upon boot-up of the computer system, and maintaining the initialization data or overwriting the recovery image based on whether the checksum and the recovery checksum are equal. An apparatus for recovering corrupted data in a memory including a control unit for writing is provided.

상기 복구 이미지와 상기 체크섬은 생산라인에서 각각의 EEPROM을 프로그램(Program)한 후, 해당 EEPROM 이미지와 체크섬을 바이오스(BIOS) 이미지(Image)에 모듈(Module)로 Update를 한다.The recovery image and the checksum program each EEPROM in a production line, and then update the corresponding EEPROM image and the checksum as modules in a BIOS image.

상기 제어부는 상기 체크섬이 상기 복구 체크섬과 동일할 경우 상기 초기화 데이터를 유지하고, 상기 체크섬이 상기 복구 체크섬과 동일하지 않은 경우, 상기 복구 이미지를 상기 초기화 데이터에 덮어 쓰기하는 것이 바람직하다. 또한, 본 발명에서, 상기 제1 메모리는 컴퓨터 시스템의 메인 보드에 통합되거나 상기 메인보드와는 독립적으로 형성된 LAN 어댑터의 메모리, IEEE1394 어댑터의 메모리 중의 어느 하나인 것을 특징으로 하며, 상기 제2 메모리는 상기 컴퓨터 시스템의 부트-업을 위한 플래시 롬(BIOS)인 것을 특징으로 하고, 상기 제어부는 메인보드 내의 사우스 브리지인 것을 특징으로 한다.The control unit maintains the initialization data when the checksum is equal to the recovery checksum, and overwrites the recovery image with the recovery image when the checksum is not equal to the recovery checksum. In the present invention, the first memory may be any one of a memory of a LAN adapter or a memory of an IEEE1394 adapter, which is integrated with the main board of the computer system or formed independently of the main board. And a flash ROM (BIOS) for boot-up of the computer system, and the control unit is a south bridge in the motherboard.

또한, 본 발명은, 컴퓨터 시스템 내에서 구동되는 적어도 하나의 장치의 제1 메모리에 저장되며 컴퓨터 시스템의 부트-업 시 상기 장치를 초기화하는 초기화 데이터를 자동으로 복구하기 위한 방법으로서, 1) 상기 제1 메모리로부터 상기 초기화 데이터를 독출하는 단계; 2) 초기화 데이터의 체크섬을 계산하는 단계; 3) 초기화 데이터를 복구하기 위한 데이터인 복구 이미지 및 복구 이미지의 체크섬인 복구 체크섬을 저장하고 있는 제2 메모리로부터 복구 체크섬을 독출하는 단계; 4) 초기 화 데이터의 체크섬과 복구 체크섬을 비교하여 서로 동일하지 않은 경우, 복구 이미지를 제1 메모리의 초기화 데이터에 덮어쓰기하는 단계;를 포함하는 메모리의 손상된 데이터를 복구하기 위한 방법을 제공한다.The present invention also provides a method for automatically recovering initialization data stored in a first memory of at least one device running in a computer system and initializing the device upon boot-up of the computer system, the method comprising: 1) Reading the initialization data from one memory; 2) calculating a checksum of the initialization data; 3) reading a recovery checksum from a second memory that stores a recovery image that is data for recovering initialization data and a recovery checksum that is a checksum of the recovery image; 4) comparing the checksum of the initialization data with the recovery checksum, and overwriting the recovery image with the initialization data of the first memory when the checksum of the initialization data is not identical to each other.

또한, 상기 초기화 데이터의 체크섬과 상기 복구 체크섬이 서로 동일한 경우에는 상기 초기화 데이터를 이용하여 상기 부트-업 과정을 지속하는 것을 특징으로 하며, 상기 제1 메모리로부터 상기 초기화 데이터를 독출하는 단계에서, 제1 메모리가 비어 있는 경우 제2 메모리로부터 복구 이미지를 독출하여, 제1 메모리에 초기화 데이터로서 기록하는 단계를 포함한다.The boot-up process may be continued using the initialization data when the checksum of the initialization data and the recovery checksum are the same, and in the step of reading the initialization data from the first memory, Reading the recovery image from the second memory when the first memory is empty, and writing it as initialization data in the first memory.

이하, 도면을 참조하여 본 발명을 더욱 상세히 설명한다.Hereinafter, the present invention will be described in more detail with reference to the drawings.

도 1은 본 발명의 이해를 돕기 위한 것으로서, 일반적인 컴퓨터 시스템의 구성을 나타낸 블록도이다. 본 도면에 따르면, 컴퓨터 시스템은 롬 바이오스(120; rom bios), LAN 어댑터(132) 및 IEEE1394 어댑터(134)를 포함하는 PCI 디바이스(130), 사우스 브리지(110; south bridge), CPU(150) 및 노스 브리지(140; north bridge)를 포함하여 이루어진다.1 is a block diagram showing the configuration of a general computer system for the understanding of the present invention. According to this figure, a computer system includes a PCI device 130, a south bridge 110, a CPU 150 including a rom bios 120, a LAN adapter 132, and an IEEE1394 adapter 134. And a north bridge 140.

롬 바이오스(120)는, 부트-업 시 컴퓨터 시스템의 구성 상태를 변경하기 위해 이용되며, 바이오스 셋업 메뉴를 통해 이용자가 그 설정을 변경할 수 있다. 바이오스(120)는 컴퓨터 시스템의 부트-업 시, 컴퓨터를 구성하는 장치들이 올바르게 작동하고 있는지를 확인하기 위해 POST(power on self test)라고 불리는 과정을 수행한다. The ROM BIOS 120 is used to change the configuration state of the computer system at boot-up, and the user may change the setting through the BIOS setup menu. The BIOS 120 performs a process called a power on self test (POST) to check whether the devices configuring the computer are operating properly when the computer system is booted up.

PCI 디바이스(130)는, LAN 어댑터(132) 및 IEEE1394 어댑터(134) 등을 포함한다. 이러한 PCI 디바이스(130)는 적어도 PCI 디바이스(130)에 대한 고유 식별 정보인 MAC 어드레스 또는 GUID 정보, 전력 관리에 관한 정보 및 상기 PCI 디바이스(130)에 관한 정보 등을 포함하는 초기화 데이터를 저장하고 있는 시리얼(Serial) EEPROM(133 또는 135; 제1 메모리)을 포함한다. PCI device 130 includes LAN adapter 132, IEEE1394 adapter 134, and the like. The PCI device 130 stores initialization data including at least MAC address or GUID information that is unique identification information about the PCI device 130, power management information, and information about the PCI device 130. It includes a serial EEPROM (133 or 135; first memory).

사우스 브리지(110)는, 키보드/마우스 컨트롤러, USB 포트 및 PCI 버스 등의 전반적인 장치들을 관리한다.The south bridge 110 manages overall devices such as keyboard / mouse controllers, USB ports, and PCI buses.

cpu(150)는 컴퓨터 시스템 내의 모든 동작을 제어한다. 컴퓨터 시스템의 부트-업 시, cpu(150)는 사우스 브리지(110)를 구동시켜(POST 과정을 수행하도록 함으로써) 시스템의 구성 상태를 점검 및 변경함으로써 초기 부팅하고, 초기 부팅이 완료하게 되면 하드디스크 등에 저장된 운영체제를 메인 메모리로 로딩하여 운영체제 부팅을 수행함으로써 모든 부트-업 과정을 완료한다. 노스 브리지(140)는, cpu(150)와 그래픽 카드(도시하지 않음), 메인 메모리(도시하지 않음) 및 사우스 브리지(110) 사이의 고속 데이터의 흐름을 중개한다. The cpu 150 controls all the operations in the computer system. During boot-up of the computer system, the cpu 150 drives the South Bridge 110 (by performing the POST process) to initial boot by checking and changing the configuration of the system, and the hard disk when the initial boot is completed. All boot-up process is completed by loading the operating system stored in the back into main memory and booting the operating system. The north bridge 140 mediates the high speed data flow between the cpu 150 and the graphics card (not shown), the main memory (not shown), and the south bridge 110.

이러한 일반적인 컴퓨터 시스템에서, 본원발명은 사우스 브리지(110)에 PCI 디바이스(130)의 EEPROM(133, 135)에 저장된 데이터(고유 MAC 어드레스 정보 또는 칩셋 설정에 필요한 중요한 정보로서, 이하 초기화 데이터라 함)를 복구하도록 하는 기능을 추가한다. 즉, BIOS(120)가 PCI 브리지에 연결된 PCI 디바이스(130)의 EEPROM(133, 135)에 저장된 초기화 데이터를 독출하여 정상적인 초기화 데이터와 비교함으로써 상기 초기화 데이터의 손상 여부를 체크하고, 이 데이터가 손상된 것 으로 판단되면, 롬 바이오스(120)에 저장된 정상적인 초기화 데이터(복구 이미지)를 PCI 디바이스(130)의 EEPROM의 초기화 데이터에 덮어쓰기하여 상기 손상된 초기화 데이터를 복구하도록 한다. In this general computer system, the present invention is data stored in the EEPROMs 133 and 135 of the PCI device 130 in the south bridge 110 (intrinsic MAC address information or important information required for chipset setting, referred to as initialization data hereinafter). Add the ability to recover. That is, the BIOS 120 reads the initialization data stored in the EEPROMs 133 and 135 of the PCI device 130 connected to the PCI bridge and compares it with the normal initialization data to check whether the initialization data is damaged or not. If it is determined that the normal initialization data (recovery image) stored in the ROM BIOS 120 to overwrite the initialization data of the EEPROM of the PCI device 130 to recover the corrupted initialization data.

이러한 기능을 수행하기 위해서는 먼저, 사우스 브리지(110)의 GPIO를 각각, PCI 디바이스(130)의 EEPROM의 클럭 생성을 위한 EESK, 데이터 입력을 위한 EEDI, 데이터 출력을 위한 EEDO, PCI 디바이스(130)의 EEPROM을 선택하기 위한 EECS로 설정하고 상기 각각의 PCI 디바이스(130)의 EEPROM에 연결함으로써, 상기 BIOS에서 LAN 어댑터(132) 및 IEEE1394 어댑터(134)의 EEPROM(133, 135)을 직접 제어하여 읽고 쓰기할 수 있도록 구성한다. 이는 도 2를 참조한다.In order to perform this function, first, the GPIO of the south bridge 110 is used, respectively, the EESK for clock generation of the EEPROM of the PCI device 130, the EEDI for data input, the EEDO for data output, and the PCI device 130. By setting the EECS to select the EEPROM and connecting to the EEPROM of each PCI device 130, the BIOS directly controls the EEPROMs 133 and 135 of the LAN adapter 132 and the IEEE1394 adapter 134 to read and write. Configure it to do so. This is referred to FIG. 2.

또한, 상기 복구 이미지는 롬 바이오스(120)의 메모리(제2 메모리) 내에 저장되는 것이 바람직하며, 이는 도 4(a) 및 4(b)를 참조하여 이해될 수 있다. 도 4(a)는 일반적인 바이오스 모듈의 구성을 나타낸 블록도이며, 도 4(b)는 본 발명에 따른 복구 이미지가 포함된 바이오스 모듈의 구성을 나타낸 블록도이다. 이와 같은 도면을 참조하면 도 4(a)의 'NOT USED'영역에 도 4(b)와 같이 'EEPROM 복구 이미지'가 저장되어 있음을 알 수 있다. 이러한 복구 이미지는, 생산라인에서 롬 바이오스(120)에 모듈(Module)을 업데이트(Update)할 시 사용할 PCI 디바이스(130)들에 대한 각각의 초기화 데이터들이다. 이때, 복구 이미지는 PCI 디바이스(130)에 대한 MAC 어드레스 또는 GUID와 같은 고유한 정보를 포함하여야 하기 때문에, 상기 PCI 디바이스(130)들은 메인 보드 내장형인 것이 바람직하며, 내장형이 아니더라도 상기 초기화 데이터의 복구시 고유한 MAC 어드레스 또는 GUID를 생성할 수 있는 알고 리즘을 롬 바이오스(120)에 포함시킴으로써 상기 MAC 어드레스 또는 GUID를 생성하도록 할 수도 있다.In addition, the recovery image is preferably stored in a memory (second memory) of the ROM BIOS 120, which can be understood with reference to FIGS. 4A and 4B. Figure 4 (a) is a block diagram showing the configuration of a general BIOS module, Figure 4 (b) is a block diagram showing the configuration of a BIOS module including a recovery image according to the present invention. Referring to the figure, it can be seen that the 'EEPROM recovery image' is stored in the 'NOT USED' region of FIG. 4 (a) as shown in FIG. 4 (b). The recovery image is initialization data of the PCI devices 130 to be used when updating a module to the ROM BIOS 120 in the production line. In this case, since the recovery image should include unique information such as a MAC address or a GUID for the PCI device 130, the PCI devices 130 are preferably embedded in a main board, and even if not embedded, recovery of the initialization data may be performed. An algorithm capable of generating a unique MAC address or GUID may be included in the ROM BIOS 120 to generate the MAC address or GUID.

다음으로, 상기와 같은 구성을 갖는 사우스 브리지를 포함하는 컴퓨터 시스템에서 PCI 디바이스(130)의 EEPROM에 저장된 초기화 데이터를 복구하는 방법에 대해서 도 3을 참조하여 설명한다.Next, a method of recovering initialization data stored in the EEPROM of the PCI device 130 in the computer system including the south bridge having the above configuration will be described with reference to FIG. 3.

먼저, 컴퓨터 시스템의 전원이 온되면, 롬 바이오스(120)에 의한 POST 과정이 수행된다. 이때의 POST는 PCI 디바이스(130)에 대하여 가장 먼저 수행되게 된다. 즉, 사우스 브리지(110)의 GPIO 중의 EECS 핀을 이용하여 어느 하나의 PCI 디바이스(130)를 선택하고, 선택된 PCI 디바이스(130)의 EEPROM(133, 135)에 저장된 초기화 데이터를 EEDO, EEDI 및 EESK를 이용하여 독출한다(S42). First, when the computer system is powered on, the POST process by the ROM BIOS 120 is performed. At this time, the POST is performed first with respect to the PCI device 130. That is, one of the PCI devices 130 is selected by using the EECS pin of the GPIO of the south bridge 110, and the initialization data stored in the EEPROMs 133 and 135 of the selected PCI device 130 is EEDO, EEDI, and EESK. Read using (S42).

이때, 선택된 PCI 디바이스(130)의 EEPROM에 독출할 초기화 데이터가 존재하는 지의 여부를 먼저 판단하도록 한다(S44). 그리고 초기화 데이터가 존재하는 것으로 판단되면 이후의 단계인 S46 단계로 진행하고, 초기화 데이터가 존재하지 않는다면 S54의 단계로 진행한다.At this time, it is first determined whether there is initialization data to be read in the EEPROM of the selected PCI device 130 (S44). If it is determined that the initialization data exists, the process proceeds to step S46, which is a subsequent step, and if the initialization data does not exist, proceeds to step S54.

상기 S42 단계에서 초기화 데이터가 독출되었다면, 상기 초기화 데이터의 손상 여부를 판단하기 위하여 소정의 알고리즘에 의해 체크섬을 계산한다(S46). 이때의 체크섬은 word(또는 byte) 단위로 독출되어 비교될 수 있다. 상기 체크섬을 계산하기 위한 알고리즘은 특정하게 한정되는 것은 아니며, 공지의 다양한 기술들을 이용할 수 있는 것으로서 본 명세서에서 이를 별도로 언급하지는 않는다. 물론, 상기 초기화 데이터의 손상 여부를 판단하기 위한 방법으로서, 본 명세서에서는 체크 섬을 계산하는 것으로 하였지만, 이도 특별히 한정되는 것은 아니며, 데이터의 손상 여부를 판단하기 위한 다양한 기술을 이용할 수도 있다.If the initialization data is read in step S42, a checksum is calculated by a predetermined algorithm in order to determine whether the initialization data is damaged (S46). At this time, the checksum may be read and compared in units of words (or bytes). The algorithm for calculating the checksum is not particularly limited, and various techniques known in the art may be used and are not specifically mentioned herein. Of course, as a method for determining whether the initialization data is damaged, the check sum is calculated in the present specification, but this is not particularly limited, and various techniques for determining whether the data is damaged may be used.

상기 S46 단계에서 초기화 데이터에 대한 체크섬이 계산되면, 롬 바이오스(120)로부터 상기 초기화 데이터에 대응하는 복구 이미지(해당 PCI 디바이스에 대한 손상되지 않은 상태의 초기화 데이터와 동일한 데이터)에 대해 미리 계산되어 기록된 복구 체크섬을 독출하고(S48), S46 단계에서 계산된 초기화 데이터에 대한 체크섬과 상기 독출된 복구 체크섬을 서로 비교한다(S50). 이 비교에 의해, 상기 체크섬들이 서로 동일한 것으로 판단되면 S52 단계로 진행하여 진행중인 POST 과정을 계속하고, 상기 체크섬이 서로 다른 것으로 판단되면 S54 단계로 진행한다.When the checksum for the initialization data is calculated in step S46, the ROM BIOS 120 pre-calculates and records the recovery image corresponding to the initialization data (same data as the undamaged initialization data of the PCI device). The read recovery checksum is read (S48), and the checksum for the initialization data calculated in step S46 is compared with the read recovery checksum (S50). By this comparison, if it is determined that the checksums are identical to each other, the process proceeds to step S52 to continue the POST process, and if it is determined that the checksums are different from each other, the process proceeds to step S54.

S54 단계 및 S56 단계는 컴퓨터 시스템의 부트-업 시 PCI 디바이스(130)의 EEPROM에 저장된 초기화 데이터의 체크섬과 복구 체크섬이 상이한 경우(상기 초기화 데이터가 손상된 것으로 판단된 경우)에 수행되는 단계로서, 롬 바이오스(120)에 저장되어 있는 복구 이미지 중에서 해당 PCI 디바이스(130)에 대한 복구 이미지를 독출하고(S54), 독출된 복구 이미지를 상기 손상된 초기화 데이터 상에 덮어쓰기함으로써 손상된 초기화 데이터를 복구한다(S56). Steps S54 and S56 are performed when the checksum of the initialization data stored in the EEPROM of the PCI device 130 is different from the recovery checksum (when it is determined that the initialization data is damaged) during boot-up of the computer system. The recovery image for the PCI device 130 is read from the recovery image stored in the BIOS 120 (S54), and the damaged initialization data is recovered by overwriting the read recovery image on the damaged initialization data (S56). ).

이러한 덮어쓰기의 과정이 완료되면, S52로 진행하여 진행중인 POST 과정을 계속한다.When this overwriting process is complete, proceed to S52 to continue the ongoing POST process.

한편, 컴퓨터 시스템에 있어서 체크할 PCI 디바이스(130)가 다수개 존재하는 경우에는, 각각의 PCI 디바이스(130)에 대하여 상기 S42 내지 S52의 단계를 반복하여 모든 PCI 디바이스(130)에 대한 체크를 수행하도록 한다.On the other hand, when there are a plurality of PCI devices 130 to be checked in the computer system, the steps of S42 to S52 are repeated for each PCI device 130 to check all the PCI devices 130. Do it.

상기한 구성을 포함하는 본 발명은, 컴퓨터 시스템의 부트-업 시 컴퓨터 시스템 내에서 구동되는 다양한 장치 각각의 EEPROM에 저장된 초기화 데이터가 손상되었을 경우 이를 자동으로 완전히 복구할 수 있게 되어, 컴퓨터 시스템의 안정적인 동작을 보장할 수 있게 된다.According to the present invention including the above-described configuration, when the initialization data stored in the EEPROM of each of the various devices running in the computer system is damaged during boot-up of the computer system, it is possible to automatically and completely recover it. Operation can be guaranteed.

Claims (7)

컴퓨터 시스템 내에서 구동되는 적어도 하나의 장치에 대한 초기화 데이터를 저장하는 제1 메모리;A first memory for storing initialization data for at least one device driven within the computer system; 상기 초기화 데이터를 복구하기 위한 복구 이미지 및 상기 복구 이미지에 대한 체크섬인 복구 체크섬을 저장하는 제2 메모리; 및A second memory for storing a recovery image for restoring the initialization data and a recovery checksum that is a checksum for the recovery image; And 상기 컴퓨터 시스템의 부트-업 시, 상기 제1 메모리의 상기 초기화 데이터의 체크섬을 계산하고, 상기 체크섬과 상기 복구 체크섬의 동일 여부에 따라 상기 초기화 데이터를 유지하거나 상기 복구 이미지를 상기 초기화 데이터에 덮어 쓰기하는 제어부를 포함하는 시리얼 EEPROM의 손상된 데이터를 복구하기 위한 장치.During boot-up of the computer system, a checksum of the initialization data of the first memory is calculated and the initialization data is retained or the recovery image is overwritten by the recovery image according to whether the checksum and the recovery checksum are equal. Apparatus for recovering damaged data of the serial EEPROM comprising a control unit. 제 1 항에 있어서, 상기 제어부는 상기 체크섬이 상기 복구 체크섬과 동일한 경우 상기 초기화 데이터를 유지하고, 상기 체크섬이 상기 복구 체크섬과 동일하지 않은 경우, 상기 복구 이미지를 상기 초기화 데이터에 덮어 쓰기하는 시리얼 EEPROM의 손상된 데이터를 복구하기 위한 장치.The serial EEPROM of claim 1, wherein the control unit maintains the initialization data when the checksum is equal to the recovery checksum, and overwrites the recovery image with the initialization data when the checksum is not equal to the recovery checksum. Device for recovering corrupted data. 제 1 항에 있어서,The method of claim 1, 상기 제1 메모리는 컴퓨터 시스템의 메인 보드에 통합되거나 상기 메인보드와는 독립적으로 형성된 LAN 어댑터의 메모리, IEEE1394 어댑터의 메모리 중의 어느 하나인 것을 특징으로 하는 시리얼 EEPROM의 손상된 데이터를 복구하기 위한 장 치.And said first memory is any one of a memory of a LAN adapter integrated with a main board of a computer system or formed independently of said main board, and a memory of an IEEE1394 adapter. 제 1 항에 있어서,The method of claim 1, 상기 제2 메모리는, 상기 컴퓨터 시스템의 부트-업을 위한 플래시 롬(BIOS)인 것을 특징으로 하는 시리얼 EEPROM의 손상된 데이터를 복구하기 위한 장치.And said second memory is a flash ROM (BIOS) for booting up said computer system. 제 1 항에 있어서, The method of claim 1, 상기 제어부는 메인보드 내의 사우스 브리지인 것을 특징으로 하는 시리얼 EEPROM의 손상된 데이터를 복구하기 위한 장치.And the control unit is a south bridge in the main board. 컴퓨터 시스템 내에서 구동되는 적어도 하나의 장치의 제1 메모리에 저장되며 상기 컴퓨터 시스템의 부트-업 시 상기 장치를 초기화하는 초기화 데이터를 자동으로 복구하기 위한 방법으로서,A method for automatically recovering initialization data stored in a first memory of at least one device running within a computer system and initializing the device upon boot-up of the computer system. 1) 상기 제1 메모리로부터 상기 초기화 데이터를 독출하는 단계;1) reading the initialization data from the first memory; 2) 상기 초기화 데이터의 체크섬을 계산하는 단계;2) calculating a checksum of the initialization data; 3) 상기 초기화 데이터를 복구하기 위한 데이터인 복구 이미지 및 상기 복구 이미지의 체크섬인 복구 체크섬을 저장하고 있는 제2 메모리로부터, 상기 복구 체크섬을 독출하는 단계;3) reading the recovery checksum from a second memory storing a recovery image that is data for recovering the initialization data and a recovery checksum that is a checksum of the recovery image; 4) 상기 초기화 데이터의 체크섬과 상기 복구 체크섬을 비교하여 서로 동일하지 않은 경우, 상기 복구 이미지를 상기 제1 메모리의 상기 초기화 데이터에 덮 어쓰기하는 단계를 포함하는 시리얼 EEPROM의 손상된 데이터를 복구하기 위한 방법.4) comparing the checksum of the initialization data with the recovery checksum and overwriting the recovery data in the initialization memory of the first memory if they are not equal to each other. Way. 제 6 항에 있어서,The method of claim 6, 상기 초기화 데이터의 체크섬과 상기 복구 체크섬이 서로 동일한 경우에는 상기 초기화 데이터를 이용하여 상기 부트-업 과정을 지속하는 것을 특징으로 하는 시리얼 EEPROM의 손상된 데이터를 복구하기 위한 방법.And if the checksum of the initialization data and the recovery checksum are the same, continuing the boot-up process using the initialization data.
KR1020070025698A 2007-03-15 2007-03-15 Apparatus and method for recovering corrupted data of serial EPEPROM KR100907550B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070025698A KR100907550B1 (en) 2007-03-15 2007-03-15 Apparatus and method for recovering corrupted data of serial EPEPROM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070025698A KR100907550B1 (en) 2007-03-15 2007-03-15 Apparatus and method for recovering corrupted data of serial EPEPROM

Publications (2)

Publication Number Publication Date
KR20080084263A true KR20080084263A (en) 2008-09-19
KR100907550B1 KR100907550B1 (en) 2009-07-14

Family

ID=40024642

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070025698A KR100907550B1 (en) 2007-03-15 2007-03-15 Apparatus and method for recovering corrupted data of serial EPEPROM

Country Status (1)

Country Link
KR (1) KR100907550B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017082520A1 (en) * 2015-11-10 2017-05-18 엘지전자 주식회사 Database management system, and data modification and recovery method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200089482A (en) 2019-01-17 2020-07-27 주식회사 엘지화학 Memory, error restoration method of the memory, and battery device comprising the memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442067B1 (en) * 2000-05-23 2002-08-27 Compaq Information Technologies Group, L.P. Recovery ROM for array controllers
US20020147941A1 (en) 2001-04-05 2002-10-10 Robert Gentile Network based BIOS recovery method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017082520A1 (en) * 2015-11-10 2017-05-18 엘지전자 주식회사 Database management system, and data modification and recovery method thereof

Also Published As

Publication number Publication date
KR100907550B1 (en) 2009-07-14

Similar Documents

Publication Publication Date Title
EP2596423B1 (en) Providing platform independent memory logic
JP4668416B2 (en) Protecting boot block code when enabling write access to the boot block
US7900036B2 (en) System and method for implementing boot/recovery on a data processing sysem
JP5889933B2 (en) Method for preventing malfunction of computer, computer program, and computer
US7650556B2 (en) System and method for checking and correcting BIOS errors
US8132055B2 (en) Operating system-firmware interface update recovery
US20100064127A1 (en) Method for updating basic input/output system and method for repairing thereof
KR20140109401A (en) Backing up firmware during initialization of device
US20160055338A1 (en) Configuring a System
US20080040596A1 (en) Embedded system and boot code auto-copy method thereof
TW201520895A (en) System and method for automatically recovering BIOS of a computer
CN101807152B (en) Basic output and input system for self verification of selection read only memory and verification method thereof
JP2015222474A (en) Method, computer program and computer for repairing variable set
US10540232B2 (en) Recovery using programmable logic device
JP3629517B2 (en) A boot device switching method for an information processing apparatus.
TW201616273A (en) System and method for recovering BIOS data of a computer
US7428635B2 (en) Method of writing non-volatile memory that avoids corrupting the vital initialization code
KR100907550B1 (en) Apparatus and method for recovering corrupted data of serial EPEPROM
US10157015B2 (en) Techniques of protecting environment variables in bootloader of service processor
CN105630523A (en) Computer BIOS data recovery system and method
CN109491951B (en) Data configuration method and computing equipment
US20240176887A1 (en) Method for Running Startup Program of Electronic Device, and Electronic Device
CN113867812B (en) Method, system, equipment and medium for BMC to acquire link information
JP4266742B2 (en) ELECTRONIC DEVICE WITH FLASH MEMORY, MEMORY DATA MANAGEMENT METHOD, AND PROGRAM
EP4113288B1 (en) Systems and method for bootup activation of firmware images

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130705

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140705

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 8